본문 바로가기

Git

Commit Convention

1. new features, bug fixes, breaking changes의 세가지 changelog를 사용한다.

   재량으로 바꿀 수 있지만 기본적인 골격인 이 세가지로 정한다.

 

 

2. 커밋의 변화를 찾고 있을 때 포멧의 변경(공백줄의 추가/제거, 들여쓰기), 세미콜론을 빼먹은 경우, 주석 같은 경우는 아래의 명령어를 통해 무시 가능하다.

git bisect skip $(git rev-list --grep irrelevant <good place> HEAD)

 

3. 히스토리를 검색할 때 커밋 메세지로 정보를 더 명확하게 전달하여야 한다.

    사전에 정한 컨벤션을 따르고, 어디가 바뀌었는지 무엇을 바꾸었는지 명시해야 한다.

 

 

4. 컨벤션

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

모든 커밋 줄은 100줄을 넘어가면 안된다.

각각의 자리에 들어갈 내용은 아래에서 설명한다.

 

4-1) <type>

  • feat : 새로운 기능 개발

  • fix : 버그 수정

  • docs : 문서 작성 및 수정

  • style : 포맷팅, 세미콜론 누락 등등 코드의 변경이 없는 수정들

  • refactor : 리펙토링

  • test : 테스트 추가

  • chore : 빌드환경, 업무 수정

4-2) <scope>

커밋에서 변화가 일어나는 특정 위치를 기술한다.

 

ex) $location, $browser, $compile, $rootScope, ngHref, ngClick, ngView, 등

 

 

4-3) <subject> : 설명 text

  • 명령형, 현재형으로 사용한다.: “change” not “changed” nor “changes”
  • 영어의 경우 첫 글자를 대문자로 하지 않는다.
  • 끝에 .(온점)을 찍지 않는다.

4-4) Message Body

  • 마찬가지로 명령형, 현재형 사용
  • 변화를 주게 된 이유 기술
  • 이전 버전과의 차이점 기술

4-5) Message Footer

Breaking changes

모든 breaking changes Footer에 설명해야 한다. 변화의 설명도 같이 적는다. 

 

Closed issue

버그에 대해 닫힌 issue는 footer의 마지막에 줄 바꿈을 하고 따로 기술한다.

"Closes"를 앞에 붙이고 뒤에 닫힌 이슈넘버를 적는다.

Closes #234
Closes #123, #245, #992

 

 

 

더 많은 예는 원본에서 보실 수 있습니다.

gist.github.com/stephenparish/9941e89d80e2bc58a153#format-of-the-commit-message

 

AngularJS Git Commit Message Conventions

AngularJS Git Commit Message Conventions. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

'Git' 카테고리의 다른 글

Rebase  (0) 2021.10.06
.gitignore  (0) 2020.12.11
Git .gitignore 이용하기  (0) 2020.11.23
Git add  (0) 2020.11.23
Git의 기본 Flow  (0) 2020.11.23