인턴을 하면서 Git 협업에 필요한 커밋 메시지 컨벤션을 정리해보았다
메시지 구조
- 3가지 파트로 나누고 각 파트는 빈 줄로 구분
type: subject
body (옵션)
footer (옵션)
- type : 커밋한 목적
- subject
- 최대 50 글자, 마침표 X
- 영문으로 표기하는 경우 동사를 가장 앞에 두고 첫글자 = 대문자
- subject
- body : 긴 설명이 필요한 경우에 작성
- 어떻게 했는지가 아니라, 무엇을 왜 했는지 작성
- 최대 75 글자
- footer : issue tracker ID를 명시하고 싶은 경우에 작성
- "유형: #이슈 번호" 형식 사용
- 여러 개의 이슈 번호 적을 땐 쉼표 구분
- Fixes: 이슈 수정중 (아직 해결되지 않은 경우)
- Resolves: 이슈를 해결했을 때 사용
- Ref: 참고할 이슈가 있을 때 사용
- Related to: 해당 커밋에 관련된 이슈 번호 (아직 해결 X)
Type
- Feat : 새로운 기능 추가
- Fix : 버그 수정
- Design : CSS 등 사용자 UI 디자인 변경
- !BREAKING CHANGE : 커다란 API 변경
- !HOTFIX : 급하게 치명적인 버그를 고쳐야 하는 경우
- Docs : 문서 수정
- Style : (코드의 수정 없이) 스타일만 변경 ex) 들여쓰기 같은 형식, 세미콜론 ...
- Comment : 필요한 주석 추가 및 변경
- Refactor : 코드를 리팩토링
- Test : Test 관련한 코드의 추가, 수정
- Chore : (코드의 수정 없이) 설정을 변경 (빌드 업데이트, 패키지 매니저 설정)
- Rename : 파일 혹은 폴더명 변경 및 이동
- Remove : 파일을 삭제하는 작업만 수행
예시
Feat: 추가 로그인 함수
로그인 API 개발
Resolves: #123
Ref: #456
Related to: #48, #45
AngularJS Git Commit Message Conventions🔽
'Tools > Git, GitHub' 카테고리의 다른 글
[TIL] Git Flow 브랜치 전략 (0) | 2022.07.18 |
---|---|
[TIL] gitmoji 커밋 메시지 컨벤션 (0) | 2022.04.24 |
[Codeit/Git] #7 Git 자유자재로 활용하기 (4) | 2021.06.08 |
[Codeit/Git] #6 Git 협업하기 (4) | 2021.05.31 |
[Codeit/Git] #5 브랜치 사용하기 (4) | 2021.05.29 |