如何使用未合并的提交停止拉取请求

时间:2013-04-10 09:50:51

标签: git github githooks git-workflow

有人可以建议一种方法来停止/通知用户他们试图删除的分支上的github上有一个打开拉取请求吗?

我们目前使用以下分支masterrchotfixprod来表示各种环境。当我们要将hotfix分支推广到prod时,我们会删除prod分支,并在构建它时强行推送hotfix分支。通常这将按预期工作。但是在我要问的示例中,我们遇到了将hotfix部署到生产中并且部分更改的情况(HEAD分支的hotfix不是正在部署的情况。在某些情况下,这些仍在等待代码审查,以拉动请求进一步完成工作。

我正在寻找的是一种通知用户何时尝试删除HEAD不是我们部署到生产的修补程序分支的方式,更重要的是有未完成的合并请求。

我们已经将pull请求自动关闭,除了远程分支已被删除,当不需要时,只需要从prod分支重新创建并重新打开请求。这是由于我们的git工作流程,我们删除了这些分支,如上所述,但理想情况下,它们将保持打开状态,以便完成pull请求,然后进行后续部署,并且只有在没有未完成的工作时才会删除分支。

1 个答案:

答案 0 :(得分:2)

你在哪个系统工作? GitHub的? 藏?

问题在于: 当您打开一个拉取请求时,它会附加到某个分支,并且这些更改会与您所处理的分支的提交ID进行“比较”。

当你删除分支时,你删除了对变化“root”的引用,所以git不知道要比较它的内容。您的更改将重新存储在您在拉取请求中设置的分支中。既然您已删除分支,则删除更改。你不能指望git“知道”你希望他为你保存更改。

总结一下: pull请求的来源是您所做更改的分支。删除分支后,您删除了更改,并且您不能指望git将其保存以备将来使用。