우선 구조는 아래와 같다.
Type : Subject
Body
Footer
크게 제목/본문/꼬리말로 구성된다.
Type
- feat: 기능 추가
- fix: 버그 수정
- docs: 문서 수정
- style: 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
- refactor: 코드 리팩토링
- test: 테스트 코드, 리팩토링 테스트 코드 추가
- chore: 빌드 업무 수정, 패키지 매니저 수정, 코드 변경이 없는 경우
Subject
- 50자를 넘지 않고, 대문자로 작성하고, 마침표를 붙이지 않는다.
- 과거시제를 사용하지 않고 명령어로 작성한다. (ex. "Fixed" -> "Fix")
- 무엇을, 왜? 에 관한 내용을 작성한다 ('어떻게'는 코드가 설명해줄 것이다.)
Body
- 선택사항이기에 모든 커밋에 본문을 작성할 필요는 없다.
- 부연설명이 필요하거나 커밋의 이유를 설명할 경우 작성한다.
- 72자를 넘기지 않고 제목과 구분하기 위해 한 칸 띄워 작성한다.
- 선택사항이기에 모든 커밋에 꼬리말을 작성할 필요는 없다.
- issue trakcer id를 작성할 때 사용한다.