- 当你提交多次后忘了每次提交的内容后你就希望可以查看一下这就会用到
git log
和git show
这两个命令. 如图可以通过diff 看出改变了什么
当提交数很大时可以添加参数来使用简略查看提交的id.
git log --pretty=oneline
- 使用下面的命令会打开如图vim界面. 进行修改保存即可覆盖之前的提交信息
git commit --amend
硬回退 git reset --hard [commit]
重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
添加 -hard参数并且选取提交版本使head指向指定的提交,即形成了版本后退前进.
由图中可以看出使用
git reset --hard HEAD^
和 git reset --hard [commit id]
效果是一样的,HEAD^可以写成HEAD~1,回退几个版本就写几. 可以想到 git reset --hard [commit id]
也可以实现版本回退,跳转.原理就是讲head指向所指定的commit.
软回退git reset --soft [commit]
工作区和暂存区的的内容不变,只将head指向指定的commit版本
这里的
git reflog
查看命令历史 git log
是查看提交历史的.
git revert
撤销一个提交的同时会创建一个新的提交。这是一个安全的方法,因为它不会重写提交历史。比如,下面的命令会找出倒数第二个提交,然后创建一个新的提交来撤销这些更改,然后把这个提交加入项目中。
$ git revert [commit]
从这里看出revert并不覆盖提交历史,但是reset会覆盖提交历史.