Git常用的操作指令
Posted lijianming180
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git常用的操作指令相关的知识,希望对你有一定的参考价值。
修改最后一次提交
有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了。想要撤消刚才的提交操作,可以使用--amend
选项重新提交:
1 | $ git commit --amend -m"修改 提交 说明" |
此命令将使用当前的暂存区域快照提交。如果刚才提交完没有作任何改动,直接运行此命令的话,相当于有机会 重新编辑提交说明,但将要提交的文件快照和之前的一样。
启动文本编辑器后,会看到上次提交时的说明,编辑它确认没问题后保存退出,就会使用新的提交说明覆盖刚才失误的提交。
如果刚才提交时忘了暂存某些修改,可以先补上暂存操作,然后再运行 --amend
提交:
1 | $ git commit -m 'initial commit' |
上面的三条命令最终只是产生一个提交,第二个提交命令修正了第一个的提交内容。
git revert
git revert
是 撤销 某次操作,此次操作之前和之后的commit都会被保留,并且 会把这次撤销作为一次最新的提交;
1 | $ git revert HEAD 撤销前一次 commit |
git revert是提交一个新的版本,将需要revert的版本的内容再反向修改回去,版本会递增,不影响之前提交的内容。
git reset 是撤销某次提交,但是此次之后的修改都会被退回到暂存区;git reset是还原到指定的版本上,这将扔掉指定版本之后的版本
git diff
在工作中可以通过命令:
1 | $ git log --author zhguixin |
查看某一作者的提交记录,进一步的话可以通过git diff
来比较不同提交记录时各个版本的差异。具体解释如下:git diff --cached
显示索引区与git仓库之间的差异git diff HEAD
显示当前工作目录与git仓库之间的差异git diff HEAD^
比较上次提交git diff HEAD~2
比较上2次提交
--diff-filter=[ACDMRTUXB*]
显示指定状态的文件:Added (A), Copied (C), Deleted (D), Modified (M), Renamed (R), changed (T), are Unmerged (U), are Unknown (X)
git diff --stat
列出文件
git diff -- filename
只对比给定的文件
历史提交对比:$ git diff commit
将所指定的某次提交与当前工作目录进行对比。
$ git diff commit1 commit2
将2次提交的内容进行对比
等价于$ git diff commit1..commit2
如果省略任意一个commit,默认将使用HEAD代替
commit可以是简写的commit哈希值,也可是是HEAD。其中HEAD代表最后一次提交,HEAD^代表最后一次提交的父提交,HEAD~1等价于HEAD^,HEAD~2为倒数第二次提交,以此类推。
以上是关于Git常用的操作指令的主要内容,如果未能解决你的问题,请参考以下文章