Git 커밋 메세지 컨벤션
커밋 메시지 (Commit Message)
커밋 메시지는 아래와 같이 제목/본문/꼬리말의 구조로 작성한다.
- type: Subject (제목)
- body (본문)
- footer (꼬리말)
Type
feat : 새로운 기능
fix : 버그 수정
docs : 문서 변경
style : 서식, 세미콜론 누락 등, 코드 변경 없음
refactor : Refactoring code
test : 테스트 추가, 리팩터링 테스트, Production Code(실제로 사용하는 코드) 변경 없음
chore : 빌드 작업, 패키지 관리자 구성 등 업데이트, Production Code 변경 없음
The Subject
- 50자 이하, 대문자로 시작하여 작성하고, 마침표로 끝내지 않는다.
- 명령문으로 작성한다.
- 이렇게 작성하는 이유는 Git이 사용하는 메시지 형식을 맞춰 일관된 로깅을 위해.
(Merge나 Update 등을 보면 알 수 있다.)
The Body
- 72자 이하, 설명이 필요한 경우에만 작성한다. 코드 변경의 이유를 명확히 작성할수록 좋다.
- 어떻게 보다는 무엇을, 왜 하는지 설명한다.
The Footer
- 선택사항이며, issue tracker ID를 참조하는 데 사용한다. 남겨주는 게 좋다.
자주 사용되는 Type 예시
Fix : 버그 수정
- Fix my test
- Fix typo in style.css
- Fix my test to return undefined
- Fix error when using my function
Update : Fix와 달리 원래 정상적으로 동작했지만 보완의 개념
- Update harry-server.js to use HTTPS
Add
- Add documentation for the defaultPort option
- Add example for setting Vary: Accept-Encoding header in zlib.md
Remove(Clean이나 Eliminate) : ‘unnecessary’, ‘useless’, ‘unneeded’, ‘unused’, ‘duplicated’가 붙는 경우가 많음
- Remove fallback cache
- Remove unnecessary italics from child_process.md
Refactor : 리팩토링
Simplify : Refactor와 유사하지만 약한 수정, 코드 단순화
Improve : 호환성, 테스트 커버리지, 성능, 검증 기능, 접근성 등의 향상
- Improve iOS's accessibilityLabel performance by up to 20%
Implement : 코드 추가보다 큰 단위의 구현
- Implement bundle sync status
Correct : 주로 문법의 오류나 타입의 변경, 이름 변경 등에 사용
- Correct grammatical error in BUILDING.md
Prevent
- Prevent hello handler from saying Hi in hi.js
Avoid : Prevent는 못하게 막지만, Avoid는 회피(if 등)
- Avoid flusing uninitialized traces
Move : 코드나 파일의 이동
- Move function from header to source file
Rename : 이름 변경
- Rename node-report to report
출처:
https://string.tistory.com/112
https://gist.github.com/stephenparish/9941e89d80e2bc58a153