git revert和 git reset

  • 当你提交多次后忘了每次提交的内容后你就希望可以查看一下这就会用到git loggit show这两个命令. 如图可以通过diff 看出改变了什么
    test_1.PNG

当提交数很大时可以添加参数来使用简略查看提交的id.

git log --pretty=oneline
添加参数
  • 使用下面的命令会打开如图vim界面. 进行修改保存即可覆盖之前的提交信息
git commit --amend
修改提交信息
撤回上一步

硬回退 git reset --hard [commit]

重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致

添加 -hard参数并且选取提交版本使head指向指定的提交,即形成了版本后退前进.

--hard参数

由图中可以看出使用 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版本

soft使用

这里的git reflog查看命令历史 git log是查看提交历史的.

git revert

撤销一个提交的同时会创建一个新的提交。这是一个安全的方法,因为它不会重写提交历史。比如,下面的命令会找出倒数第二个提交,然后创建一个新的提交来撤销这些更改,然后把这个提交加入项目中。
$ git revert [commit]


test_8.PNG

从这里看出revert并不覆盖提交历史,但是reset会覆盖提交历史.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容