版权声明:转载请注明出处 https://blog.csdn.net/qq_27563511/article/details/82848906
使用场景如下:
首先看一下我的提交(commit1这种都是指的是提交的commit-id)
commit1
commit2
commit3
commit4
commit5
commit6
现在想把commit4扔掉,只需
git log 从这里拿到commit4的id(当然咱们这里已经拿到了,coomit4就是)
git revert commit4 正常情况下就撤销成功了
git log 可以看一下,多了一次提交,撤销commit4的提交
但是某些情况下,可能会产生冲突,解决方法如下:
1.手动解决冲突,然后提交
2.git revert --abort 取消撤回,不解决冲突了
3.git revert --continue revert
仅仅是撤销commit4的改动,默认会生成一个新的commit提交,但在它之后还有commit3
和commit2,commit1
,它们的改动不会被影响,依然保留在工作区中,因此可能产生冲突。你可以手动解决冲突后commit,但这却是个麻烦且不优雅的方式。因为commit3,commit2,commit1这几个commit的改动被一起合并在暂存区中,如果你修改的不止一个文件,那手动解决冲突将会非常麻烦。解决方式是,默认 不 生成新的commit,使用git revert --continue 按顺序回滚。