Commit 컨벤션
Commit 컨벤션
- Git commit 메세지의 중요성은 개발자라면 대부분이 알고 있다.
다른 팀원들과의 협업으로 프로젝트를 할 때, 코드 스타일과 더불어 커밋 메세지 컨벤션을 정해 놓기 위해 협의를 한다. 어떻게 기준을 잡으면 좋을지 소개하려고 한다.
Commit 메세지 구조
- 기본적인 구조는
제목, 본문, 꼬리말세가지로 나누고, 영문으로 작성하는 경우를 기준으로 하며100자를 넘길 수 없다.
<유형>(<범위>): <주제>
<빈 줄>
<본문>
<빈 줄>
<꼬리말>유형
✔️ 타입은 태그와 제목으로 구성되고, 태그는 영어로 써야하며 첫 문자는 대문자로 한다.
-
Feat : 새로운 기능 추가 및 기능 업데이트
-
Fix : 버그 또는 에러 수정
-
Docs : 문서 수정, 블로그 포스트 추가
-
Style : 코드 포맷팅, 코드 오타, 함수명 수정, 세미콜론 누락, 코드 변경이 없는 경우, 스타일 수정
-
Refactor : 코드 리팩터링(기능은 같지만 코드만 개선)
-
Test : 테스트(테스트 코드 추가, 수정, 삭제, 비지니스 로직에 변경이 없는 경우)
-
Chore : 위에 걸리지 않는 기타 변경사항 (빌드 스크립트 수정, assets image, 패키지 추가, 환경변수 설정 등)
-
Design : CSS등 사용자 UI 디자인 변경
-
Comment : 필요한 주석 수정 및 삭제
-
Init : 프로젝트 초기 생성
-
Rename : 파일 혹은 폴더명 수정하거나 옮기는 경우
-
Remove : 파일을 삭제하는 작업만 수행하는 경우
Subject Rule
-
영문 사용시, 동사원형 사용하고, 첫 번째 글자는 대문자로 표기한다.
-
제목은 최대 50글자 넘지 않도록 하고, 마침표 및 특수기호는 사용하지 않는다.
Body Rule
-
본문은 한 줄 당 72자 내로 작성한다.
-
본문 내용은 최대한 상세히 작성한다.
-
본문 내용은 어떻게 변경했는지 보다
무엇을, 왜변경했는지를 설명한다.
Footer Rule
규칙
-
유형 :
#이슈 번호의 형식으로 작성한다. -
이슈 트래커 ID를 작성
-
여러개의 이슈 번호는
,로 구분 -
이슈 트래커 유형은 하기와 같다.
-
꼬리말은 optional이고 이슈 트래커 ID를 작성한다.
-
꼬리말은 “유형: #이슈 번호” 형식으로 사용한다.
-
여러 개의 이슈 번호를 적을 때는 쉼표(,)로 구분한다.
-
이슈 트래커 유형은 다음 중 하나를 사용한다.
-
Fixes: 이슈 수정중 (아직 해결되지 않은 경우)
-
Resolves: 이슈를 해결했을 때 사용
-
Ref: 참고할 이슈가 있을 때 사용
-
Related to: 해당 커밋에 관련된 이슈번호 (아직 해결되지 않은 경우)
commit 예시
Feat : Add signin, signup
회원가입 기능, 로그인 기능 추가
Resolves: #1-
첫 번째 줄에서는
Feat : Add signin, signup을 작성하고 -
두 번째 줄에서는
signin, signup을 어디에 추가했고, 왜 추가했는지 작성한다. -
세 번째 줄에서는
해결한 이슈의 번호를 작성한다. -
wq로 저장하고 나가면 커밋이 자동으로 된다.