git 放弃本次merge
时间: 2023-11-14 12:12:06 浏览: 181
Git教程——merge 分支冲突
如果在使用git merge操作合并代码但还没add时,想取消这次合并,可以使用 git merge --abort 命令。但如果已经使用了git add,可以通过以下步骤放弃本次merge:
1. 先使用 git reflog 指令显示历史的操作,找到你 merge 之前 master 所在的 commit。
2. 在 master 分支上使用 git reset --hard <commit> 重置头指针,回到合并之前的提交。
注意,git reset --hard命令有风险,除非十分确定要放弃当前提交,否则最好先git branch为当前的提交建立个新的分支引用后再继续,待确定无误后删除即可。
如果错误的合并之后又有了新的提交,可以在完成前述正确的合并之后,通过git rebase --onto <错误的合并提交> <正确的合并提交> <新提交所在分支>来在正确的合并提交上重建新的提交。git rebase --onto命令所重建的提交序列最好是线性的,否则非线性的提交会变成线性的。若需要保存非线性的提交历史,可以考虑使用--preserve-merges参数,不过结果很不可靠,具体视提交的非线性程度而定。
阅读全文