如何从PR中删除合并提交?

时间:2018-12-17 02:38:18

标签: git github

我在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"

2 个答案:

答案 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