在提交消息中链接到GitHub上的发行号


Answers:


952

只需#xxx在您的提交消息中包括即可引用问题而不关闭它。

在新的GitHub issue 2.0中,您可以使用这些同义词来引用问题并将其关闭(在您的提交消息中):

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

您也可以替代#xxx使用gh-xxx

在回购中引用和关闭问题也可以:

fixes user/repo#xxx

请查看其“帮助”部分中的可用文档


4
Fix issue #xxx对我不起作用,有什么想法吗?它引用了该问题,但未解决。
丹尼斯2012年

16
@Dennis删除单词“ issue”

1
@JamesTomasino这是可能的-我注意到当我在名为的分支上工作时,这对我没有用dev
乔恩·凯恩斯

1
在哪种情况下应使用每一个?
nilsi

1
我不会是将这个答案从666票转移到667票的人,但这非常有帮助。
jakeatwork's

168

如果要链接到GitHub问题关闭问题,可以在Git提交消息中提供以下几行:

Closes #1.
Closes GH-1.
Closes gh-1.

(这三个方法中的任何一个都可以。)请注意,这将链接到该问题并将其关闭。您可以在此博客文章中找到更多信息(大约从1:40开始观看嵌入式视频)。

我不确定类似的语法是否会简单地链接到问题而不关闭它。


31
您可以使用问题的编号(例如#456)将其链接到任务,而无需将其关闭。
Matthieu Napoli

9
我会选择“ gh-1”而不是“#1”,只是因为您永远不知道存储库是否已导出/镜像到github以外的其他地方。然后,“#1”就没有多大意义了。
huyz 2011年

2
@mipadi:.“关闭GH-1`之后是否必要?此外,它是否区分大小写?
Lekensteyn

1
@Lekensteyn:我不认为这段时间是必要的。不确定是否区分大小写。
mipadi 2012年

message (closes GH-28)对我有用,不确定是否所有内容都不区分大小写。
Lekensteyn 2012年

64

您还可以交叉引用存储库:

githubuser/repository#xxx

xxx为发行编号



14

他们在其博客https://github.blog/2011-04-09-issues-2-0-the-next-generation/上很好地撰写了有关新问题2.0的文章

同义词包括

  • 修复#xxx
  • 固定的#xxx
  • 修复#xxx
  • 关闭#xxx
  • 关闭#xxx
  • 已关闭#xxx

在提交消息中使用任何关键字都会使您的提交被提及或解决问题。


那已经在我的列表中,我认为它们不区分大小写。
xero

4

就像其他答案一样:如果您甚至不想编写带有发行号的提交消息,而碰巧使用Eclipse进行开发,则可以安装eGit和Mylyn插件以及Mylyn的GitHub连接器。然后,Eclipse可以自动跟踪您正在处理的问题并自动填写提交消息,包括所有其他答案中所示的问题编号。

有关该设置的更多详细信息,请参见http://wiki.eclipse.org/EGit/GitHub/UserGuide


4

为了将问题编号链接到您的提交消息,您应该添加: #issue_number在git commit消息中。

Udacity Git提交消息样式指南中的示例提交消息

feat: Summarize changes in around 50 characters or less

More detailed explanatory text, if necessary. Wrap it to about 72
characters or so. In some contexts, the first line is treated as the
subject of the commit and the rest of the text as the body. The
blank line separating the summary from the body is critical (unless
you omit the body entirely); various tools like `log`, `shortlog`
and `rebase` can get confused if you run the two together.

Explain the problem that this commit is solving. Focus on why you
are making this change as opposed to how (the code explains that).
Are there side effects or other unintuitive consequenses of this
change? Here's the place to explain them.

Further paragraphs come after blank lines.

 - Bullet points are okay, too

 - Typically a hyphen or asterisk is used for the bullet, preceded
   by a single space, with blank lines in between, but conventions
   vary here

If you use an issue tracker, put references to them at the bottom,
like this:

Resolves: #123
See also: #456, #789

您还可以引用存储库:

githubuser/repository#issue_number

他们使用“ feat”作为“功能”的缩写是毫无意义的(实际上让我烦恼),尤其是当他们同时使用比“功能”更长的“重构”时。
Michel Jung

@MichelJung您可以争辩说它的feat使用频率比更高refactor,也没有明显的缩写refactorref可能表示参考,rf过于不清楚等)。
克里斯·克拉瑟夫斯基

3

我作为程序员的第一个项目是一个名为stagecoach的gem ,它(除其他外)允许在分支上的每个提交消息中自动添加github问题号,这是尚未真正得到回答的问题的一部分。

本质上,在创建分支时,您将使用自定义命令(如stagecoach -b <branch_name> -g <issue_number>),然后将问题编号分配给yml文件中的该分支。然后有一个提交钩,该将发布号自动附加到提交消息中。

我不建议将它用于生产用途,因为我只进行了几个月编程,就不再维护它了,但是可能有人会对此感兴趣。


我认为您的答案正在尝试解决OP中的确切问题,即“一种在提交中自动添加指向该问题的链接的方法”。所有其他答案都取决于程序员记得添加“修复#...,已解决#...等”的问题。提交的短语,而这并不是我们所知道的每次都会发生的情况。正在投票。
demisx '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.