Git Commit

git commit message convetion은 회사 또는 프로젝트 마다 다를 수 있습니다.
message의 형태는 다를 수 있지만 기본적인 목적은 같습니다.

잘 만들어진 git 커밋 메시지는 해당 프로젝트에서 작업하는 팀원과 미래의 자신에게 변경 사항에 대한 의미를 전달하기 위한 좋은 방법입니다.

일반적으로 커밋 메시지는 다음과 같은 구조를 권장합니다.

1
2
3
4
5
type: Subject

body

footer

보통 위와 같은 형태입니다.

제목은 새로운 기능 추가인 경우 feat: Subject, Feat: Subject, Feat Subject, Feature Subject 등 조금씩 type의 형태가 다르지만 그건 프로젝트에 따라 일관되게 맞추면 됩니다.

글자 수는 50자 이내로 작성하는 것이 좋으며, issue와 관련이 있다면 제목 옆에 (#issue nubmer)를 추가하는 것도 어떠한 이슈와 관련된 것인지 알기 쉽게 볼 수 있습니다.

본문은 commit 내용에 대한 추가 설명입니다. 한 줄당 72자 이내로 작성 하는 것이 좋으며, 본문 내용의 경우 변경 사항에 대한 정보를 기입하는 것이 좋습니다.

푸터는 이슈 트래커 참조 용도로 사용됩니다.
보통 푸터에 종료 키워드와 이슈 번호를 함께 작성하면 해당 이슈가 종료 처리 도 됩니다.

Type의 종류

Type의 종류도 강제적이지는 않습니다. 다만 아래의 정보면 충분히 설명이 가능합니다.

  • Feat 새로운 기능
  • Fix 버그 수정
  • Docs 문서와 관련된 추가 수정 삭제
  • Style 코드의 의미에 영향을 주지 않는 변경 사항(공백, 서식, 세미콜론 누락 등)
  • Refactor 버그를 수정하거나 기능을 추가하지 않는 코드 변경
  • Perf 성능을 향상시키는 코드 변경
  • Test 테스트 추가
  • Chore 빌드 프로세스 또는 라이브러리에 대한 변경 사항

제목

  • 총 글자 수 50자 이내로 작성
  • 마지막에 ., !, ? 같은 특수문자 제외
  • 제목은 동사원형 형태로 추가

본문

  • 간단한 변경 사항의 경우 작성할 필요 없음
  • 한 줄 당 72자 이내로 작성
  • 부연 설명 및 어떻게 보다는 무엇을 왜 변경했는지 기입

푸터

  • 간단한 변경 사항의 경우 작성할 필요 없음
  • 이슈 트래커 id를 작성할 때 사용

Reference