Git Commit Convention

Commit Message Structure

<type>: <subject>

<body>

[footer - 이슈 참조]
EPIC: #{번호}
Story: #{번호}
Task: #{번호}

Type 종류

Type 설명
feat 새로운 기능을 추가
fix 버그 수정
design CSS 등 사용자 UI 디자인 변경
!breaking change 커다란 API 변경의 경우
!hotfix 급하게 치명적인 버그를 고쳐야하는 경우
style 코드 포맷 변경, 세미 콜론 누락, 코드 수정이 없는 경우
refactor 프로덕션 코드 리팩토링
comment 필요한 주석 추가 및 변경
docs 문서 수정
test 테스트 코드, 리팩토링 테스트 코드 추가, Production Code(실제로 사용하는 코드) 변경 없음
chore 빌드 업무 수정, 패키지 매니저 수정, 패키지 관리자 구성 등 업데이트, Production Code 변경 없음
rename 파일 혹은 폴더명을 수정하거나 옮기는 작업만인 경우
remove 파일을 삭제하는 작업만 수행한 경우

Commit Message 작성 규칙

  1. type은 모두 소문자로 작성
  2. 제목은 명령문으로 작성
  3. 제목 끝에 마침표(.) 금지
  4. 제목과 본문을 한 줄 띄워 분리하기
  5. 본문은 "어떻게" 보다 "무엇을", "왜"를 설명
  6. 본문에 여러줄의 메시지를 작성할 땐 "-"로 구분
  7. footer는 반드시 작업과 관련된 이슈번호를 포함

Footer 작성 규칙

  1. EPIC, Story, Task 순서로 작성
  2. 각 단위는 새로운 줄에 작성
  3. 이슈 번호는 '#' 기호와 함께 작성
  4. 관련 없는 단위는 생략 가능

커밋 메시지 예시

feat: 회원가입 이메일 인증 기능 구현

- 인증 메일 발송 기능 추가
- 인증 코드 확인 로직 구현
- 인증 상태 DB 저장 처리

EPIC: #123
Story: #456
Task: #789