0

我的一个队友做出了承诺并推动了它。它导致了 git 树中的合并。问题是代码被标记了,这个推送使它看起来像提交在标记之前。实际情况是提交在标签之后。合并后还有其他推动。现在,我想从 gitk 树中完全删除这个提交。我怎样才能做到这一点?

4

1 回答 1

1

如果不重写历史然后用git push -f .... 如果您想恢复合并提交本身(合并到您的分支中的更改),您可以git revert <commit-hash>像使用普通提交一样使用。它将创建一个新的提交,从合并提交中恢复更改。

从树中删除合并提交的简单方法是

  • git checkout -b TESTING(创建一个临时分支进行测试)
  • git branch TMP <commit-on-YOUR-branch-just-before-merge>
  • git rebase TMP -i

您必须在编辑器中删除合并到您的分支的其他分支的所有提交。如果一切顺利:

  • git branch -f YOUR_BRANCH TESTING
  • git push -f ...
于 2013-03-19T16:43:01.250 回答