如何使用提交信息关闭GitHub拉取请求?

19

我的团队在维护应用程序时使用拉取请求进行内部代码审查,但是合并提交时,我们直接推送到master。我们都是仓库协作者,并且通过不使用拉取请求来合并代码,避免了将合并提交污染到我们的提交历史记录中。由于这个应用程序只是我们团队内部使用,因此没有其他人受到影响。

我想知道的是,我是否可以使用类似"closes PR#30"的内容修改我的提交消息,并让GitHub自动关闭拉取请求呢?

我知道您可以使用提交消息来关闭问题,因此我希望有类似于拉取请求的东西。我在网上和SO上进行了快速搜索,但没有看到任何相关内容。


1
这个来自GitHub的帮助页面可能会对你有所帮助。 - ZeissS
3
谢谢@ZeissS,但该链接只涉及关闭“问题”,而不是拉取请求。 - Steve K
1个回答

23
您可能需要查看这个GitHub帮助页面。 它说:
引用:

您可以使用以下任何关键字通过提交消息来关闭问题:

  • close
  • closes
  • closed
  • fix
  • fixes
  • fixed
  • resolve
  • resolves
  • resolved

因此,“Fixes#123”或“Resolved#456”都可以工作。 所有拉取请求都映射为问题,因此对于拉取请求也适用。

注意:由于您修改了拉取请求,因此您将看到有关未合并的提交的消息。 因此,在查看拉取请求时,如果您在提交消息的第一行中放置了有意义的内容,那么很容易看出PR是否已被包含(而不仅仅是关闭)。


12
所有的拉取请求都被映射为问题,因此这对拉取请求也适用。-- 啊哈,我就是漏了这部分!你是怎么知道的?如果GitHub能在你提供的页面上添加一个简短的一句话附注,我的问题就会得到解答! - Steve K
1
我测试了一下,它运行正常!你说得对,关于"未合并的提交"的警告,但是我的PR也显示"skingsland在<SHA1哈希链接到提交>2分钟前关闭了此问题"。所以任何查看该PR并想知道为什么被关闭的人都可以点击提交哈希链接,然后看到该提交在master分支中。 - Steve K
1
请注意,只有默认分支接收到关闭请求的提交后,拉取请求才会关闭。如果拉取请求是针对非默认分支打开的,则可能会引起混淆。 - xn.
我也被那个页面只提到了问题而感到困惑,希望他们能在某个地方说明这也适用于拉取请求。 - Rafael
我觉得你误读了,它确实涉及合并请求。再读一遍第一行:“当一个提交或合并请求解决一个或多个问题时,当该提交或合并请求进入项目的默认分支时,可以自动关闭这些问题。” :-) - John Szakmeister
显示剩余7条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接