当使用非默认分支合并到主分支时,GitHub上的PR关联问题未关闭

3
我将main作为默认分支,dev作为非默认分支。
我创建了一个问题和一个PR,从新的temp分支合并到dev分支。在PR中,我提到了解决 #1
当我将PR合并到dev分支时,由于它是非默认分支,问题#1没有被关闭。
然后我在main分支内使用git命令行,执行了git merge dev,这样dev分支就合并到了main
main分支提交中,我也可以看到Merge pull request ...提交。
但是问题#1没有被关闭,即使PR间接从tempdev再到main合并。
有什么原因导致这个错误?
更新: - 当将dev合并到main时,下一次我没有在main分支上使用git merge dev,而是创建了新的PR来将dev合并到main
这样就关闭了问题。
为什么在使用git merge时无法工作,而在合并PR时可以?

你在哪里写的 Resolves #1?是在描述中吗?提交信息中?还是评论中? - dan1st
在公关模板中... - Yusuf
1
我不确定为什么这个被标记为 [tag:git],因为它只是一个 [tag:github] 的事情... - torek
1
同意,git标签是不必要的,只会让人感到困惑。 - Julian
我遇到了一个类似的问题,需要一个解决办法,我手动链接这些问题以便关闭。在这里询问了一下:https://github.community/t/issues-which-a-linked-pr-is-supposed-to-close-does-not-close/230879 - PEZ
1个回答

10

这是设计上的考虑,而非错误。

当你将一个已链接的拉取请求合并到存储库的默认分支中时,它所关联的问题会自动关闭。

并且

注意:在拉取请求描述中使用的特殊关键词仅在拉取请求针对存储库的默认分支时才被解释。但如果PR的基础是任何其他分支,则这些关键字会被忽略,不会创建链接,并且合并PR对问题没有影响。如果您想使用关键词将拉取请求链接到问题,则必须将PR置于默认分支上。

来自https://docs.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue

PS: 我之前也曾向GitHub支持发送过电子邮件询问此事,不幸的是,目前还没有改变。


我明白你的意思并理解了问题。但在这种情况下,我应该怎么做?手动将问题标记为关闭吗?如果是的话,使用自动化看板和审查作为项目模板还有什么用呢?普通的手动看板就可以工作了吗? - Yusuf
1
你可以在提交描述中添加 Resolves #xxx - dan1st
以前我在功能的拉取请求中添加了Resolves #xxx,但似乎我必须在将dev合并到prod的拉取请求中添加这个... 是吗? - Yusuf
2
我感觉自己太傻了,竟然错过了这个。谢谢你的答案,今晚我可以安心入睡了。 - Robotnicka
真可惜,尤其是如果你使用一种相当常见的做法,即将特性分支合并到开发分支,然后再将其合并到主(默认)分支。 - Splines

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