恢复git合并提交,然后恢复恢复

Chi*_*tle 8 git github git-revert

我们的团队使用Github Pull Requests来管理我们的工作流程,就像这里描述的一样.在手动查看接受的Pull请求时,我们偶尔需要还原该合并,因为它尚未准备好部署到我们的生产服务器.

但是,如果开发人员再次尝试发出Pull Request,则无法识别这些更改已恢复,并且发现提交已在主分支中.它只包括自恢复以来最近的提交,但我们真正想要的是重新引入所有已经恢复的提交,以及他们的新工作.换句话说,我们喜欢重新发布原始Pull请求的方法.

由于Github不支持此功能(即,既不恢复合并,也不撤消/重新发布原始拉取请求),我目前正在还原恢复的合并.这感觉不对.

我可以用什么方法在git中实现相同的目标?(或Github,如果可能的话)

Mar*_*air 1

我认为你出现问题的原因是当你处理拉取请求时,你选择在 GitHub 上自动合并它们。在文档中描述的处理拉取请求的三种建议方法中,您正在使用最后一种(“自动合并”),它最近才实现。就我个人而言,我认为这仅适用于明显正确的琐碎拉取请求。对于更复杂的事情,我想使用第一种方法,即

  • 将请求者的存储库添加为新的远程存储库
  • 从那个远程获取
  • 尝试合并
  • 仔细测试
  • 如果你高兴就推动结果

这意味着合并版本只有在您测试并决定推送后才公开。如果您不想,可以将 master 分支重置到之前的位置。


有趣的是,如果您最终不得不恢复令人遗憾的合并,但仍然希望可以选择重新合并该分支的更高版本,那么可能值得更多地讨论会发生什么。虽然这可能感觉不对,但据我了解,处理这种情况的最简单方法确实是恢复恢复。您可以在Pro Git 博客的这篇文章中找到有关此问题的更多讨论,以及Linux Torvalds 对同一问题的另一篇讨论,这可能也会有所帮助。