我的一位队友做了一次提交并推了推。它导致了git树中的合并。 问题是代码被标记,并且此推送使得它看起来像是在标记之前提交。实际情况是提交在标记之后。 合并后还有其他推动。现在,我想从gitk树中完全删除此提交。我怎么能这样做?
答案 0 :(得分:1)
如果不重写历史记录然后使用git push -f ...
推送它,就无法更改gitk树的外观。如果要还原合并提交本身(更改,已合并到您的分支中),您可以像使用正常提交一样使用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 ...