udacity의 convention을 참고하여 만들어졌으며, 세부적인 것은 프로젝트에 맞추어 수정할 수 있다.

모든 commit은 더 이상 쪼갤 수 없는 atomic한 단위로 수행한다.

  1. 만약 stage 상태의 파일들이 서로 연관되어 있어 여러 개의 commit으로 쪼개기 힘든 경우,roll back 후 다시 atomic한 commit을 만든다.
  2. 한 commit에 변경되는 파일의 갯수는 10개가 넘지 않는 것을 지향한다.

다만 아래와 같은 경우는 예외로 한다.

예시)
함수, class의 변경으로 참조하고 있는 다른 파일들도 수정되는 경우.
폴더명이 변경되어 한꺼번에 파일이 삭제되거나 생성되는 경우.
!HOTFIX의 경우.

메시지 구조

메시지는 크게 4가지 영역으로 구성된다.

  1. 타입
  2. 이유
  3. 본문
  4. 꼬리말
타입[적용 범위]: 제목 (1줄)
\\n
?: 이유 설명 (1줄)
본문(선택 사항)
\\n
related issue: (선택 사항)
related commit: (선택 사항)

한 줄의 길이는 72자 이내로 제한한다.

내부에 이유 등을 list로 표현해야 할 때는 다음과 같이 표현한다.

- 요소 1
- 요소 2

타입

타입은 태그와 제목으로 구성되며, 태그는 영어로 쓰되 첫 문자는 대문자로 한다.

태그

태그는 다음과 같은 종류로 구분된다.