커밋 메시지의 7가지 규칙

  1. 제목과 본문을 빈 행으로 구분한다.
  2. 제목은 50글자 이내로 제한한다.
  3. 제목의 첫 글자는 대문자로 작성한다.
  4. 제목 끝에는 마침표를 넣지 않는다.
  5. 제목은 명령문으로 사용하며 과거형을 사용하지 않는다.
  6. 본문의 각 행은 72글자 내로 제한한다.
  7. 어떻게 보다는 무엇과 왜를 설명한다.

커밋 메시지 구조

// Header, Body, Footer는 빈 행으로 구분한다.
타입(스코프): 주제(제목) // Header(헤더)

본문 // Body(바디)

바닥글 // Footer

Header필수이며 스코프는 생략 가능하다.

타입은 해당 커밋의 성격을 나타내며 아래 중 하나여야 한다.

타입 이름 내용
feat 새로운 기능에 대한 커밋
fix 버그 수정에 대한 커밋
build 빌드 관련 파일 수정 / 모듈 설치 또는 삭제에 대한 커밋
chore 그 외 자잘한 수정에 대한 커밋
ci ci 관련 설정 수정에 대한 커밋
docs 문서 수정에 대한 커밋
style 코드 스타일 혹은 포맷 등에 관한 커밋
refactor 코드 리팩토링에 대한 커밋
test 테스트 코드 수정에 대한 커밋
perf 성능 개선에 대한 커밋

Body는 Header에서 표현할 수 없는 상세한 내용을 적는다.

Header에서 충분히 표현할 수 있다면 생략 가능하다.

Footer는 바닥글로 어떤 이슈에서 왔는지 같은 참조 정보들을 추가하는 용도로 사용한다.

예를 들어 특정 이슈를 참조하려면 Issues #1234 와 같이 작성하면 된다.