반응형
좋은 commit message는 작업 내용에 대한 직관성과 가독성을 높이고,
원활한 코드 유지보수가 가능해 진다.
좋은 commit message를 위한 7가지 규칙
<제목 (subject)>
<한줄 공백 (BLANK LINE)>
<본문 (body, 선택 사항)>
<한줄 공백 (BLANK LINE)>
<꼬리말 (footer, 선택 사항)>
- 제목과 본문은 공백으로 구분
- 제목은 영문 기준 50자 이내로 제한
- 제목의 첫 글자는 대문자로 작성
- 제목 줄은 마침표로 끝내지 않음
- 제목은 명령 형태로 작성
- 본문은 영문 기준 72자마다 줄 바꾸기 진행
- 본문에는 어떻게(how)보다 무엇을(what)과 왜(why)에 초점
커밋 메시지 구조
<타입(type)>[범위(scope, 선택 사항)]: <제목(subject or description)>
<한줄 공백(BLANK LINE)>
<본문(body, 선택 상항)>
<한줄 공백(BLANK LINE)>
<꼬리말(footer, 선택사항)>
제목, 본문, 그리고 꼬리말 구조는 Chris Beams가 제안한 것과 유사,
여기에 추가로 제목 앞에 타입(type)을 명시
타입에는 해당 커밋의 작업 의도를 파악하기 위해 작업의 범주를 명시하며 타입의 종류는 다음과 같음
- feat : 새로운 기능의 추가, 삭제, 변경 등 (제품 코드 수정)
- fix : 버그 수정 (제품 코드 수정)
- docs : 문서 추가, 삭제, 변경 (제품 코드 수정)
- style : 포멧, 정렬 등의 변경과 같이 스타일과 관련된 수정 (제품 코드가 수정되지만 동작에 영향 없음)
- refactor : 코드 전면 수정 (리팩토링, 제품 코드 수정)
- test : 시험을 위한 코드 추가, 삭제, 변경 등 (제품 코드 수정 없음)
- chore : .gitignore 파일처럼 외부 사용자가 관심 없는 파일이나 빌드, 패키지 매니저, CI 등과 관련된 파일의 변경 (제품 코드 수정 없음)
이 타입들은 권고 사항이며 프로젝트 특성에 맞게 타입 종류를 설정하면 됨
꼬리말 부분에는 이슈 트래커(issue tracker)와 함께 사용할 대 해결한 이슈나 참고할 부분을 명시해 주면 좋음
Resolve : #123
See also : #456, $789
한국어로 커밋 메시지 작성하기
커밋 메시지를 반드시 영문으로 작성해야 하는 것은 아님
구성원 간 협의하여 사용하기 편한 언어를 사용하면 되며, 한국어로 커밋 메시지를 작성하기로한 경우, 아래 부분을 유의해야함
- 제목은 개조식으로 작성
- 중요한 요점만 서술하여 가독성을 향상시키는 개조식 제목 사용을 고려
- 한국어 제목 예 : 로그 출력 함수 추가
- 중요한 요점만 서술하여 가독성을 향상시키는 개조식 제목 사용을 고려
- 메시지 타입의 한국어화
- 필요하다면 메시지 타입도 한국어로 변환해서 사용할 수 있음
- feat → 기능 추가, 기능 삭제, 기능 변경
- fix → 버그 수정
- docs → 문서
- style → 형식(스타일)
- refactor → 개정
- test → 시험
- chore → 기타
- 필요하다면 메시지 타입도 한국어로 변환해서 사용할 수 있음
- 가급적 한 가지 언어로 작성
- 이해를 돕기 위해 원어를 사용해야 하는 상황을 제외하고 한국어로 작성
- 제목, 본문 줄 제한을 조정
- 영문의 경우 제목은 50자 이내로 작성하고, 본문은 72자마다 줄 바꿈 하도록 권고하고 있으나, 한글의 경우 영문보다 더 많은 공간을 차지하므로 이를 고려하여 글자 수 제한을 재조정하는 것도 좋음 (제목은 25자 이내로 작성, 본문은 36자마다 줄 바꿈 함)
반응형
'Git & Github' 카테고리의 다른 글
Git | Gitmoji 종류 및 의미 (5) | 2024.10.08 |
---|---|
Git | Git Hooks (Gitmoji) 사용해보기 (2) | 2024.10.07 |
Git | 명령어 모음.zip (1) | 2024.10.02 |