Git回滚Merge

在Git操作中,有一些典型的情况需要考虑,比如回滚Merge操作。这里记录下遇到需要这种操作的时候怎么处理

中断合并

在合并的时候,出现了冲突,但是还没有解决冲突,没有进行提交的时候,放弃合并。

方案:

git merge --abort
image.png

撤销合并

如果已经合并了代码,但是合并完成发现,这是一个错误的合并。
C6与C4进行合并


image.png

方案1:

git reset --hard HEAD
# 或者使用更精确的指定回滚到某一次的commit上面
git reset --hard commit_id

使用命令查看当前的提交状态:

git log --graph --oneline
image.png

执行git reset --hard 3144260之后。可以看到master已经回退了


image.png
image.png

方案2

git reset命令是使HEAD节点指向曾经提交的一个节点上,但是有时候想要保留每一个操作,我们可以使用git revert命令,它会创建新的提交,并撤销合并的内容。

git revert -m 1 HEAD
image.png
image.png

最后

这里主要就是说合并出错的时候怎么办。
还没commit:git merge --abort ,丢弃正在进行的合并
已经commit:

  • git revert -m 1 HEAD 新建一个commit,并且回到合并之前的状态
  • git reset --hard commit_id 回退到指定的commit节点
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容