커밋 메시지 내에서 GitHub의 이슈 번호에 연결


답변:


952

그냥 포함 #xxx 을 닫지 않고 문제를 참조하는 커밋 메시지에.

새로운 GitHub Issues 2.0 에서는 이러한 동의어를 사용하여 이슈참조하고 커밋 메시지에서이를 닫을 수 있습니다.

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

또한 대체 할 수 있습니다 #xxxgh-xxx.

repos에서 참조 및 닫기 문제 도 작동합니다.

fixes user/repo#xxx

도움말 섹션에서 사용 가능한 설명서를 확인하십시오 .


4
Fix issue #xxx나에게 도움이되지 않습니다, 어떤 아이디어? 문제를 참조하지만 닫지는 않습니다.
데니스

16

1
@JamesTomasino 가능합니다-라는 지점에서 일할 때 이것이 효과가 없다는 것을 알았습니다 dev.
Jon Cairns

1
어떤 상황에서 각각을 사용해야합니까?
nilsi

1
나는이 답변을 666 표에서 667 표로 옮기는 사람이되지 않을 것입니다. 그러나 이것은 매우 도움이되었습니다.
jakeatwork

168

GitHub 이슈에 링크하고 이슈 닫으려면 Git 커밋 메시지에 다음 줄을 제공하면됩니다.

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

(세 가지 중 하나가 작동합니다.)이 문제와 연결되고 닫힙니다 . 이 블로그 게시물 에서 자세한 내용을 확인할 수 있습니다 (1:40에 포함 된 비디오 시청 시작).

비슷한 구문이 문제를 끝내지 않고 단순히 링크하는지 여부는 확실하지 않습니다.


31
이슈 번호 (예 : # 456)를 사용하여 문제를 종료하지 않고 작업에 연결할 수 있습니다.
Matthieu Napoli

9
리포지토리가 github 이외의 곳으로 내보내 지거나 미러링되는지 알 수 없기 때문에 "# 1"대신 "gh-1"을 선택합니다. 그러면 "# 1"은 의미가 없습니다.
huyz

2
@mipadi : ."GH-1을 닫으십시오"이후? 또한 대소 문자를 구분합니까?
Lekensteyn

1
@ Lekensteyn : 나는 기간이 필요하다고 생각하지 않습니다. 대소 문자 구분이 확실하지 않습니다.
mipadi

message (closes GH-28)모든 것이 대소 문자를 구분하지 않는지 확실하지 않습니다.
Lekensteyn

64

상호 참조 저장소를 상호 교차 할 수도 있습니다.

githubuser/repository#xxx

xxx는 이슈 번호입니다


62

github은 커밋에 #issuenbr이 포함되어 있으면 커밋에 대한 참조를 추가합니다 (이것은 우연히 발견되었습니다).


4
그냥 그것을 테스트, 매력처럼 작동합니다, 감사합니다 ... 이것은 정답으로 표시되어야하는 것입니다 ...
열립니다

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_numbergit 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

"featture"를 "feature"의 약어로 사용하는 것은 의미가 없으며 (특히 실제로는 짜증나), 특히 "feature"보다 더 긴 "refactor"를 사용하는 경우에는 더욱 그렇습니다.
Michel Jung

@MichelJung은 당신이 주장 할 수 feat보다 더 자주 사용됩니다 refactor, 또한 대한 명백한 약자도 없다 refactor( ref참조를 의미 할 수는, rf등, 너무 불분명하다).
Chris Kraszewski

3

프로그래머로서의 첫 번째 프로젝트 중 하나는 stagecoach 라는 보석으로 다른 지점에서 지점의 모든 커밋 메시지에 github 이슈 번호를 자동으로 추가 할 수 있었으며 실제로 대답하지 않은 질문의 일부입니다. .

기본적으로 브랜치를 만들 때 사용자 지정 명령 ( stagecoach -b <branch_name> -g <issue_number>)을 사용하면 이슈 번호가 yml 파일의 해당 브랜치에 할당됩니다. 커밋 후크 가있었습니다. 커밋 메시지에 자동으로 이슈 번호를 추가 .

몇 달 동안 만 프로그래밍을하고 더 이상 유지 관리하지 않을 때 프로덕션 용도로는 권장하지 않지만 누군가에게 관심이있을 수 있습니다.


귀하의 답변은 OP의 정확한 질문, 즉 " 커밋에 추가 된 문제에 자동으로 연결 되는 방법"을 해결하려고한다고 생각합니다 . 다른 모든 답변은 "Fixes # ..., Resolved # ... 등"을 추가하는 것을 기억하는 프로그래머에 의존합니다. 커밋에 대한 문구이며 우리가 알 때마다 발생하지는 않습니다. 공감.
demisx
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.