[Git] Git 메시지 컨벤션이란?
19 Apr 2022Git - Commit Message Convention
커밋 메시지를 작성할 때는 원칙을 정하고 일관성있게 정해야 협업간에 쉬운 의사소통이 가능하다. 이번에 기회가 되면 정리하고자 하던 깃 메세지 컨벤션을 정리해 보았다. 아직 깃커밋 메시지가 익숙하지 않아 내가 참고하려고 정리를 다시 해보았다. 이런 약속은 사소하지만 정말 중요한것 같다.
1. 깃 메시지 구조
깃메시지는 아래와 같은 구조로 이루어져 있다.
[타입(type): 제목(title, subject)]
본문내용(body)
꼬리말(footer)
2. [타입(type): 제목(title, subject)]
2-1 Type
타입에 들어가는 형태는 다음과 같다.
Type | 설명 |
---|---|
Feat | 새로운 기능을 추가 |
Fix | 버그 수정 |
Docs | 문서 수정 |
Style | 포맷, 세미클론, 코드 수정이 없는 경우 |
Refactor | 코드 리팩토링 |
Test | 테스트 코드 작성, 리팩토링 테스트 코드 추가 |
Chore | 빌드 업무 수정, 패키지 매니저 수정 |
Design | CSS등 사용자 UI 변경 |
!BREAKING CHANGE | 커다란 API의 변경 |
!HOTFIX | 급하게 치명적인 버그 고쳐야 하는 경우 |
Comment | 주석 추가 변경 |
Rename | 파일 또는 폴더명 수정하거나 옮기는 경우 |
Remove | 파일을 삭제하는 작업만 수행한 경우 |
2-2 Title, Subject
- 제목은 50자를 넘기지 않는다.
- 대문자로 작성하며 마침표를 붙이지 않는다.
- 과거시제보다 현재시제를 사용하며, 명령어로 작성한다.
Fix: callback error Refactor: UserController refactoring Feat : add user login
위와 같은 형식으로 사용하면 된다.
3. 본문내용(body)
- 커밋 본문 내용은 선택사항이기 때문에 모든 커밋에 본문 내용을 작성할 필요는 없다.
- 바디 내용은 어떻게 보다 ‘무엇을’ 그리고 ‘왜’에 대한 내용을 설명한다.
- 72자를 넘기지 않고 제목과 구분하기 위해 한 칸을 띄어 작성한다.
4. 꼬리말(footer)
- Footer는 선택사항이기 때문에 모든 커밋에 꼬리말을 작성할 필요는 없다.
- Issue tracker ID를 작성할 때 사용한다.