合并时冲突
合并时存在冲突,冲突未解决或者解决到一半不想解决了,或者解决完冲突了但是还没提交,想要回退到合并前的状态,使用git merge --abort
来退出合并。
该命令会尝试恢复到合并前的状态。注意在合并前,最好把改动暂存或者提交,总之就是尽可能保持工作目录干净再合并,否则可能会有些情况不能正确处理。
合并后回退
如果已经合并完,且提交了,想要回退,可以运行git reset --merge ORIG_HEAD
。
ORIG_HEAD
指向合并前的提交,--merge
表示在重置时保留当前工作目录中的更改,这意味着:
- 如果当前工作目录中有未提交的更改,这些更改将被保留。
- 只有在
HEAD
和ORIG_HEAD
之间的更改会被重置。
当然,也可以先用git reflog
之类的命令查看提交记录,找到需要回退到的 commit-id,然后运行git reset --merge <commit-id>
。
类似的命令有git reset --hard ORIG_HEAD
,它会回退到ORIG_HEAD
所指向的提交,且不会保留当前工作目录中的更改。
标签:HEAD,git,--,合并,撤销,Git,ORIG From: https://www.cnblogs.com/Higurashi-kagome/p/18423215参考:
Undo a Git merge that hasn't been pushed yet - Stack Overflow
扩展: