github 에서 push나 PR(pull request) 할때 issue 연결하기
TL;DR
github 에서 commit 후 push 하거나 PR 을 보낼 때 특정 형식으로 커밋 메시지를 작성하면 관련된 이슈와 커밋을 연결하거나 이슈의 상태를 변경할 수 있습니다.
사용 방법은 간단하며 KEYWORD 뒤에 #ISSUE-NUMBER 형식으로 커밋 메시지를 작성해 주면 됩니다.
이슈 연결 | 문법 | 예제 |
---|---|---|
같은 저장소내 이슈 연결 | KEYWORD #ISSUE-NUMBER | Closes #10 |
다른 저장소의 이슈 연결 | KEYWORD OWNER/REPOSITORY#ISSUE-NUMBER | Fixes 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 번 이슈를 클릭하면 특정 커밋에서 이슈를 참조했다는 안내 메시지가 뜨며 클릭하면 해당 커밋의 상세 화면으로 이동할 수 있으므로 커밋과 이슈를 묶어서 볼 수 있습니다.