github 에서 push나 PR(pull request) 할때 issue 연결하기

TL;DR

github 에서 commit 후 push 하거나 PR 을 보낼 때 특정 형식으로 커밋 메시지를 작성하면 관련된 이슈와 커밋을 연결하거나 이슈의 상태를 변경할 수 있습니다.

사용 방법은 간단하며 KEYWORD 뒤에 #ISSUE-NUMBER 형식으로 커밋 메시지를 작성해 주면 됩니다.

이슈 연결문법예제
같은 저장소내 이슈 연결KEYWORD #ISSUE-NUMBERCloses #10
다른 저장소의 이슈 연결KEYWORD OWNER/REPOSITORY#ISSUE-NUMBERFixes octo-org/octo-repo#100
여러개 이슈 연결이슈 연결하는 문법을 여러 번 사용Resolves #10, resolves #123, resolves octo-org/octo-repo#100

이슈 종료 

커밋 메시지가 "KEYWORD #ISSUE-NUMBER" 형식이면 이슈가 자동으로 종료 상태로 변경되며 지원하는 키워드는 다음과 같습닌다.

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

예로 다음 커밋 메시지는 1 번 이슈의 상태를 종료로 변경합니다.

git commit -m "close #1 스크립트 추가"

해당 이슈에 들어가 보면 특정 커밋을 통해서 상태가 변경된 걸 볼 수 있으며 커밋 해시를 클릭하면 "close #ISSUE_NUMBER" 형식의 "커밋 메시지" 를 확인할 수 있습니다.


커밋과 이슈 연결

현재 커밋이 특정 이슈와 관련되었다면 #ISSUE-NUMBER 형식으로 커밋 메시지를 작성해 주면 됩니다.

예로 다음 커밋은 2번 이슈를 종료 상태로 변경하고 1번 이슈와 연결합니다.

git commit -m "참고 #1, resolve #2 현재 시간 출력"

커밋 해시를 클릭하면 아래와 같이 커밋 메시지를 확인할 수 있습니다.

연결된 #1 번 이슈를 클릭하면 특정 커밋에서 이슈를 참조했다는 안내 메시지가 뜨며 클릭하면 해당 커밋의 상세 화면으로 이동할 수 있으므로 커밋과 이슈를 묶어서 볼 수 있습니다.


같이 보기

Ref