我在github上建立了PR,我不小心将master合并到我的PR中并推送了它。现在PR显示出比我刚更改的文件要更改的文件更多的方式,因为主文件已被合并。我如何才能删除先前的文件以从PR合并主提交?
我尝试做git revert <hash>
,现在PR提交看起来像这样。但是,更改的文件总数仍然不正确。它显示的是我没有更改的文件。
PR提交如下:
My good commit
Merge branch 'master' into this-prbranch
Revert "Merge branch 'master' into this-prbranch"
答案 0 :(得分:1)
您可以首先使用git log
找到合并提交,并删除其SHA。
然后,将树还原到其前一点:
git reset --hard abcdef8~
(显然,您应该将abcdef8
替换为合并提交的SHA)
然后强行推动还原后的树
git push -f
为什么git revert
不能按预期工作?
来自git-revert(1)
:
给出一个或多个现有提交,还原 相关补丁程序引入的更改,以及 记录一些记录它们的新提交。
答案 1 :(得分:0)
git log
以查看所有提交git rebase -i <commit hash>
进行重新定位git push -f