😀前言
本篇博文是关于Git的基本命令使用,希望你能够喜欢
🏠个人主页:晨犀主页
🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉
💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦😊
Git基本命令使用(接上篇)
-
然后查看状态及执行提交命令
cppgit statusgit push origin master
-
合并出现问题需要手动修改
cppgit diff branch1 branch2 --stat //显示出所有有差异的文件列表 git diff branch1 branch2 文件名(带路径) //显示指定文件的详细差异 git diff branch1 branch2 //显示出所有有差异的文件的详细差异
-
编辑有冲突的文件(只修改被合并的分支文件),删除特殊符号,决定要使用的内容
-
我们可以用
git add
要告诉 Git 文件冲突已经解决cppgit add 文件名 //添加缓存区 git status -s //状态码解析,会显示如: M runoob.php git commit -m "修改后" //重新提交
状态码含义:
A: 你本地新增的文件(服务器上没有).
C: 文件的一个新拷贝.
D: 你本地删除的文件(服务器上还在).
M: 文件的内容或者mode被修改了.
R: 文件名被修改了。
T: 文件的类型被修改了。
U: 文件没有被合并(你需要完成合并才能进行提交)。
X: 未知状态(很可能是遇到git的bug了,你可以向git提交bug report)
?:未被git进行管理,可以使用git add file1把file1添加进git能被git所进行管理
-
错误回滚
csharp
#push前回滚
--mixed 想保留本地修改,也想撤销commit 可以使用(默认--mixed)
git reset --mixed HEAD^
--soft 仅仅撤销 commit
git reset --soft HEAD^
#--hard 全部撤销了,包括本地修改
git reset --hard HEAD^
git reset HEAD^ //此时代码保留,回到 git add 之前(默认--mixed)
git reset --hard HEAD^ //回到最新的一次提交
git reset --hard HEAD~3 //回退上上上一个版本
git reset --hard origin/master //将本地的状态回退到和远程的一样
#HEAD 说明:
#HEAD 表示当前版本
#HEAD^ 上一个版本
#HEAD^^ 上上一个版本
#HEAD^^^ 上上上一个版本
#以此类推...
#可以使用 ~数字表示
HEAD~0 表示当前版本
HEAD~1 上一个版本
HEAD^2 上上一个版本
HEAD^3 上上上一个版本
以此类推...
#push后回滚
#方式一
git revert HEAD //撤销最近1次commit
git log //得到你需要回退一次提交的commit id
git revert <commit_id> //回滚到指定版本
git push origin master //提交回滚后的版本
#方式二
git log // 得到你需要回退一次提交的commit id
git log --oneline //查看简洁版本
git reset --hard // 回到其中你想要的某个版本
git push origin master -f //强制提交一次,之前错误的提交就从远程仓库删除
git reset 和git revert区分
#revert是放弃指定提交的修改,但是会生成一次新的提交,需要填写提交注释,以前的历史记录都在;
#reset是指将HEAD指针指到指定提交,历史记录中不会出现放弃的提交记录。
#删除某次提交
git log --oneline //显示<commit_id>日志
git rebase -i <commit_id> //删除<commit_id>次提交
20、git标签
如果你达到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag
给它打上标签。
如一个重要版本出现,如稳定版,标签可以帮你快速定位到.
cpp
#一. 创建一个标签
git tag -a <tagname> // 创建一个标签
git tag -a <tagname> -m "说明文字" //创建一个标签带说明
如果我们忘了给某个提交打标签,又将它发布了,我们可以给它追加标签。
git tag -a v0.9 <commit_id> //<commit_id>代表最后一次的commit id
git log --oneline --decorate --graph //查看是否追加成功
列出标签
git tag //查看所有标签
git tag -n //列出标签和说明
删除标签:
git tag -d 标签名
git tag -d v1.0.1
删除远程标签(Git1.7版本以后):
git push origin --delete tag
21、打包所有文件
打包master分支的所有文件:
csharp
git archive --format=zip --output master.zip master
其中,输出格式为zip,输出文件为master.zip。git支持zip和tar两种输出格式。
打包当前分支当前HEAD的所有文件:
csharp
git archive --format=zip --output head.zip HEAD
打包v1.2标签的所有文件:
csharp
git archive --format=zip --output v1.2.zip v1.2
三. 推送标签
- 推送指定标签:
cpp
git push origin v1.0.0
- 一次性推送全部尚未推送到远程的本地标签:
cpp
git push origin --tags
四. 获取指定tag代码
第一步:切换到指定标签,提示你当前处于一个"detached HEAD" 状态,因为 tag 相当于是一个快照,是不能更改它的代码的
cpp
git checkout v1.0.0
第二步:如果要在 tag 代码的基础上做修改,你需要一个分支
cpp
git checkout -b branch_name tag_name
第三步:切回到之前的HEAD指向(以master为例)
cpp
git checkout master
文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞