git revert 撤销中间的某次提交

版权声明:转载请注明出处 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提交,但在它之后还有commit3commit2,commit1,它们的改动不会被影响,依然保留在工作区中,因此可能产生冲突。你可以手动解决冲突后commit,但这却是个麻烦且不优雅的方式。因为commit3,commit2,commit1这几个commit的改动被一起合并在暂存区中,如果你修改的不止一个文件,那手动解决冲突将会非常麻烦。解决方式是,默认 生成新的commit,使用git revert --continue 按顺序回滚。

猜你喜欢

转载自blog.csdn.net/qq_27563511/article/details/82848906
今日推荐