当前位置:   article > 正文

Git怎样撤销一次分支的合并Merge_gi 撤销合并

gi 撤销合并

最近用git,merge之后写的代码全没了,瞬间懵逼,找到这个解决办法,靠谱,先记下来

如果确定放弃这次合并的提交,假如是 merge 了错误的分支到 master,先通过 git reflog 或者 gitg、gitk、qgit 等工具确定你 merge 之前 master 所在的 commit,然后在 master 分支上使用 git reset --hard <commit> 重置头指针。一般来说,在 master 上直接执行 git reset --hard HEAD~ 也可以回到合并之前的提交,但 git reset --hard 命令还是使用确定的 commit 为好。注意,git reset --hard 命令有风险,除非十分确定要放弃当前提交,否则最好先 git branch为当前的提交建立个新的分支引用后再继续,待确定无误后删除即可。

如果错误的合并之后又有了新的提交,可以在完成前述正确的合并之后,通过 git rebase --onto <错误的合并提交> <正确的合并提交> <新提交所在分支> 来在正确的合并提交上重建新的提交。git rebase --onto 命令所重建的提交序列最好是线性的,否则非线性的提交会变成线性的。若需要保存非线性的提交历史,可以考虑使用 --preserve-merges 参数,不过结果很不可靠,具体视提交的非线性程度而定。




https://segmentfault.com/q/1010000000140446

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/861061
推荐阅读
相关标签
  

闽ICP备14008679号