git에서 Issue를 참조하는 커밋 만들기

Git에서 이슈를 참조하는 커밋을 통해 이슈 관리가 효율적으로 이루어질 수 있습니다.

git에서 Issue를 참조하는 커밋 만들기
Photo by Yancy Min / Unsplash

개요

오픈소스를 조사하던 중 여러 이슈에서 커밋을 참조하는 것을 확인하게 되었습니다.

이슈 해결 및 관리되고 있다는 것을 파악하기 위한 방법이 될거라고 생각하여 관련 문서를 조사하였고 다음과 같이 정리하였습니다.

Git에서 이슈를 참조하는 커밋 만들기

Git 호스팅 서비스(GitHub, GitLab 등)에서는 커밋 메시지에 이슈 번호를 포함하여 이슈를 참조하는 커밋을 만들 수 있습니다.

GitHub에서 이슈 참조하기

GitHub에서는 커밋 메시지에 특정 키워드와 함께 이슈 번호를 포함하면 됩니다:

git commit -m "기능 구현: 로그인 페이지 개선 fixes #42"

주요 키워드:

여러 키워드들이 존재하지만 주요 키워드는 다음과 같습니다.

  • fixes #이슈번호 - 커밋이 이슈를 해결하고 자동으로 이슈를 닫습니다
  • closes #이슈번호 - 위와 동일
  • resolves #이슈번호 - 위와 동일
  • ref #이슈번호 - 이슈를 참조만 하고 닫지 않습니다
  • relates to #이슈번호 - 위와 동일

GitLab에서 이슈 참조하기

GitLab에서도 비슷한 방식으로 작동합니다:

git commit -m "로그인 기능 개선 closes #31"

여러 이슈 참조하기

한 커밋에서 여러 이슈를 참조할 수도 있습니다:

git commit -m "버그 수정: 여러 문제 해결 fixes #42, relates to #57, closes #63"

이렇게 커밋을 하면 해당 커밋이 이슈 페이지에 자동으로 연결되고, 키워드에 따라 이슈가 자동으로 닫히기도 합니다.

혹은 텍스트 에디터를 활용하여, 여러 줄로 상세한 커밋 메시지를 작성할 수 있습니다:

git commit