어느날 문득 저의 커밋 메세지를 살펴보던 중 메세지만 봐서는 정확히 어떤 작업을 했는지 바로 떠오르지 않는 다는 것을 느끼게 되었습니다.
보다 간결하고 명확한 내용으로 작성할 수 없는지 찾아보게 되었습니다. 그렇다면 Git에 commit을 할때 어떤 내용으로 커밋 메세지를 작성하는 것이 좋을까요?
앞으로 협업할 일이 많아지게 될텐데 좋은 커밋 메세지 습관을 들여둔다면 더욱 좋을 것 같습니다. 보편적으로 사용되는 좋은 커밋 메세지 7가지의 규칙이 있습니다.
<좋은 커밋 메세지의 7가지 규칙>
- 제목과 분문을 한 줄 띄워 분리하기
- 제목은 영문 기준 50자 이내로
- 제목 첫 글자를 대문자로
- 제목 끝에 마침표(.) 금지
- 제목은 명령하듯이 작성
- 본문은 영문 기준 72자마다 줄 바꾸기
- 본문은 어떻게보다 무엇을, 왜에 맞춰 작성하기
- Github - 제목이나 본문에 이슈 번호 붙이기
커밋 메세지의 구조
type: subject
body (선택)
footer (선택)
예)
fix: 영상 시청 횟수에서 오버플로우가 발생하는 문제를 수정 (#42512)
제목 앞에 작성할 타입은 주로 아래와 같은 내용으로 작성합니다.
Type으로 주로 사용되는 키워드
- feat : 새로운 기능 추가
- fix : 버그 수정
- docs : 문서 수정
- style : 코드 formatting, 세미 콜론(;) 누락 등의 수정 (코드 변경이 없는 경우)
- refactor : 코드를 리팩토링 한 경우
- test : 테스트 코드, 리팩토링 테스트 코드 추가 (프로덕션 코드 변경이 없는 경우)
- chore : 빌드 업무 수정, 패키지 매니저 수정 (프로덕션 코드 변경이 없는 경우)
- design : CSS 등 사용자 UI 디자인 변경
- comment : 주석을 추가하거나 변경한 경우
- rename : 파일 혹은 폴더명을 수정하거나 옮기는 작업만 진행한 경우
- remove : 파일을 삭제하는 작업만 수행한 경우
- !BREAKING CHANGE : 커다란 API 변경을 수행한 경우
- !HOTFIX : 급하게 치명적인 버그를 고쳐야하는 경우에 사용
결론
개인 프로젝트에서는 본인이 알아볼 수 있도록 커밋 메세지를 작성해도 상관 없겠지만 미리 이러한 규칙을 습관들여 놓는다면 나중에 팀 프로젝트 등으로 협업을 할 때 도움이 될 것입니다.
앞으로는 기술스택을 학습하는 것을 포함해서 이러한 협업을 위해 지키면 좋은 규칙들도 조금씩 숙지해 나가려 합니다.
'Develop > TIL' 카테고리의 다른 글
[TIL] JavaScript의 쓰로틀링과 디바운스 그리고 React (0) | 2023.09.04 |
---|---|
[TIL] Hamming Codes: 해밍 코드 (0) | 2023.08.27 |
항해99 실전 프로젝트를 앞두고 (0) | 2023.06.09 |
<WIL> 첫 협동프로젝트 : 프론트 엔드는 생각보다 작업량이 많았다. (0) | 2023.05.26 |
<TIL> 리액트에서 16자리가 넘는 정수를 처리하는 방법 (0) | 2023.05.07 |