협업 경험은 아직 없고 개인 프로젝트를 진행하며 혼자 커밋 메세지를 남겼었는데, 내가 봐도 뭘 남기려고 한 건지 못 알아보는 일이 종종 있어서 앞으로는 커밋 메세지를 작성할 때 규칙을 지켜서 작성하고자 한다.
좋은 Git 커밋 메시지의 7가지 규칙
- 제목과 본문을 한 줄 띄워 분리
- 제목은 영문 기준 50자 이내
- 제목 첫 글자를 대문자로
- 제목 끝에 마침표 금지
- 제목은 명령조로
- 본문은 영문 기준 72자마다 줄 바꾸기
- 본문은 어떻게보다 무엇을, 왜에 맞춰 작성하기
커밋 메세지 구조
type(옵션): Subject // 제목
body(옵션) // 본문
footer(옵션) // 꼬리말
제목은 필수 요소, 바디와 푸터는 옵션이다.
type
- feat: 새로운 기능 추가
- fix: 버그 해결
- docs: 문서 변경
- design : CSS 등 사용자 UI 디자인 변경
- style: formatting, 놓친 세미콜론 등... 코드의 변경은 없음
- refactor: 코드 리팩토링
- test: 테스트 코드 추가 혹은 테스트 코드 리팩토링. 코드의 변경은 없음
- chore: 패키지 매니저 구성, 빌드 작업 업데이트. 코드의 변경은 없음
- rename : 파일 혹은 폴더명을 수정하거나 옮기는 작업만인 경우
- remove : 파일을 삭제하는 작업만 수행한 경우
- comment : 필요한 주석 추가 및 변경
주제
주제는 50자를 넘어서는 안되며, 대문자로 시작해야 하며, 마침표로 끝나면 안된다.
명령형으로 작성한다.
바디
바디는 옵션이고, 커밋이 약간의 설명과 문단이 필요할 때 바디가 사용된다.
'어떻게'가 아닌 '무엇을' 그리고 '왜'에 대한 설명을 위해 바디를 사용해야한다.
바디를 적을 때, 타이틀과 바디 사이에 공백을 적어야 하고 각 줄에 글자가 72자를 넘지 않도록 해야한다.
푸터
옵션이고, 이슈트래커 아이디 참조로 사용된다.
- Resolves: 문의나, 요청에 의한 이슈에 해당하는 경우 이슈 번호
- Closes: 일반적인 개발과 관련된 이슈에 해당하는 경우 이슈 번호
- Fixes: 버그 픽스, 핫 픽스 관련 이슈에 해당하는 경우 이슈 번호
- See also: 커밋의 이슈와 연관되어 있는 이슈들이 존재 하는 경우, 또는 관련된 이슈들이 있는 경우 이슈 번호
참고로 close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved 와 같은 키워드와 함께 이슈번호를 기입하면 커밋 메세지에서 이슈를 닫을 수 있다.
사용 시점 | 사용 키워드 |
해결 | Closes(종료), Fixes(수정), Resolves(해결) |
참고 | Ref(참고), Related to(관련), See also(참고) |
ex) 아래와 같이 커밋 메세지 남기면 100번 이슈 종료됨
feat: ㅇㅇ 기능 추가
ㅇㅇ 기능 추가개발함
* ㅇㅇ 개발
* ~~참고
resolved : #100
see also : #101, #102
참조
더보기
'1. 프로그래밍 > 1-1. Git' 카테고리의 다른 글
Git - [ 이클립스 conflict 도구 ] (0) | 2022.06.29 |
---|---|
git - [ 특정 commit 삭제 ] (0) | 2022.06.25 |
Git - [ issue 관리 ] (0) | 2022.06.11 |
Git - [ Fork / PR(Pull Request) ] (0) | 2022.06.10 |
Git - [ 강제로 Git Pull 하기 ] (0) | 2022.04.26 |