使用提交信息关闭GitHub Issue功能失效问题排查
问题原因与解决办法
确实是合并队列导致的这个问题。
GitHub自动关闭Issue的逻辑是:检测合并到主分支的提交内容里是否包含Closes #xxx、Fixes #xxx这类关键词。但启用合并队列后,实际合并到主分支的是系统自动生成的合并提交(格式一般是Merge pull request #xxx into main),这个合并提交里不会包含你原提交里的关闭关键词——哪怕你的原提交里有关键词、鼠标悬停显示能关联Issue,那也只是原提交和Issue的关联,不是合并到主分支后的触发逻辑。
给你几个解决办法:
- 后续提PR时,直接在PR的描述框里加上
Closes #69这类关键词,合并队列生成合并提交时会把PR描述的内容整合进去,就能自动触发Issue关闭。 - 如果已经合并了PR,直接手动在主分支推一个空提交带上关键词:
git commit --allow-empty -m "Closes #69",推上去之后Issue就会自动关闭。 - 可以顺便确认下仓库设置里的「自动关闭引用的Issue」功能是否开启(默认是开启的,大概率不是这个问题)。
内容的提问来源于stack exchange,提问作者DJDuque
相关产品推荐
相关产品推荐

