728x90
반응형
깃의 커밋 진행 시 가독성 향상과 협업을 위해, 일관성 있고 원칙을 가진 커밋 메세지를 작성할 필요가 있다.
Commit 메세지 구조
- Title(제목)
- type
- subject
- Body(본문)
- Footer(optional)(꼬리말)
제목, 본문, 꼬리말 세 파트로 나누며, 각 파트는 빈칸으로 구분된다.
type : subject
body
footer
Commit Type
제목을 구성하는 Type의 경우 어떠한 이유로 커밋을 진행했는지 적는다.
보통의 경우 type의 맨 앞 글자는 대문자로 적는다.
Type | description |
---|---|
Feat | 새로운 기능 추가 |
Fix | 버그 수정 |
Docs | 문서 수정 |
Refactor | 코드 리펙터링 |
Test | 테스트 코드, 리펙토링 테스트 코드 추가 |
Chore | 빌드 업무 수정, 패키지 매니저 설정 |
Rename | 파일 혹은 폴더명 수정, 이동 |
Remove | 파일 삭제 |
!HOTFIX | 급하게 치명적인 버그 수정 진행 |
Design | 디자인 변경 |
Style | 코드 포맷 변경, 세미콜론 누락, 코드 수정이 없는 경우 |
Comment | 필요한 주석 추가 및 변경 |
Subject
제목은 코드 변경 사항의 요약내용을 담는다.
제목을 작성할 때에는 아래의 규약을 적용한다.
- 50자 이내로 작성한다.
- 마침표, 특수기호 등을 사용하지 않는다.
- 대문자로 시작하며 과거 시제가 아닌 동사원형을 사용한다.
- 개조식 구문 사용하기(서술형X)
Body
본문은 실제 커밋한 내용에 대한 자세한 설명을 작성한다.
본문을 작성할 때에는 아래의 규약을 적용한다.
- 한 줄당 72자 내로 작성한다.
- 본문은 최대한 상세히 작성한다. 양이 많으면 많은대로 다 작성하면 된다.
- 무엇을, 왜 변경했는지를 설명한다.
- 어떻게 변경했는지를 적을 필요는 없다.
footer
꼬리말은 반드시 작성할 필요는 없다.
이슈 트래커 ID를 작성한다.
작성 요령은 다음과 같다.
유형: #이슈번호
의 형식으로 작성한다.- 여러 개의 이슈번호를 적을 때는
,
로 구분한다. - 이슈 트래커의 유형은 다음 중 하나를 사용한다.
- Fixes
- 이슈 수정중(아직 해결되지 않음)
- Resolves
- 이슈 해결
- Ref
- 참고할 이슈가 있을 때 사용
- Related to
- 해당 커밋에 관련된 이슈변호(Fixes에 관련하여)
- Fixes
즉 꼬리말은 어떤 이슈인지, 어디와 관련된 것인지 파악하기 위해 작성하도록 한다.
Ex
회원 가입 기능 구현시
Feat: "회원 가입"
회원 가입 기능 구현
Resolves: #123
Ref: #345
Related to: #11, #23, #32
이런 식으로 하면 된다.
Git 이모지
https://gitmoji.dev/
https://github.com/carloscuesta/gitmoji
깃을 올릴 때에 이모지를 사용해서 더 명확하게 확인할 수 있도록 도와준다.
참고로 이 깃 이모지는 IntelliJ를 사용하는 경우
마켓플레이스에서 깃모지 다운로드로 쉽게 사용 가능하다.
반응형