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
'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 |