代码之家  ›  专栏  ›  技术社区  ›  Anthony

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

  •  1
  • Anthony  · 技术社区  · 7 年前

    我在Github上有一个公关,我不小心将master合并到了我的公关中并推了它。现在,pr显示了更多的文件更改,而不是因为主控形状被合并而被我更改的文件。如何从pr中删除上一个要合并的主提交?

    我试着做 git revert <hash> 现在公关部的承诺是这样的。但是,更改的文件总数仍然不正确。它显示了我没有更改的文件。

    公关承诺如下:

    My good commit
    
    Merge branch 'master' into this-prbranch
    
    Revert "Merge branch 'master' into this-prbranch"
    
    2 回复  |  直到 7 年前
        1
  •  1
  •   iBug    7 年前

    您可以首先找到合并提交 git log 把它的沙取下来。

    然后,将树恢复到之前的位置:

    git reset --hard abcdef8~
    

    (显然,你应该更换 abcdef8 合并提交的sha)

    用力推还原的树:

    git push -f
    

    为什么 git revert 不按预期工作?

    从 git-revert(1) :

    如果存在一个或多个提交,请恢复 相关补丁引入的更改,以及 记录一些记录它们的新提交 .

        2
  •  0
  •   user3675515    7 年前
    • 运行 git log 查看所有提交
    • 在合并前复制提交哈希
    • 运行 git rebase -i <commit hash> 重新定位
    • 推动变革 git push -f