AngularJS Git Commit Message Conventions
참고 자료: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit?pli=1&tab=t.0
Git Commit Message Convention이란?
- 버전 관리 시스템(Git)을 이용하여 코드 공유 시 각 팀원들 간의 커밋 내역을 빠르고 간편하게 관리 될 수 있도록 지켜지는 메시지 규약입니다.
장점
1] 명확성: Commit 목적과 범위가 명확하게 드러납니다.
2] 일관성: 팀 내 표준화를 할 수 있습니다.
Format
- Header, Body, Footer
<type>(<scope>): <subject> // Header
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
Message Header
1] Type
feat: 새로운 기능 추가(feature)
fix: 버그 수정
docs: 문서 작업
style: 세미콜론 누락, 포매팅, 들여쓰기 등…(기능에 영향 없는 변경)
refactor: 리팩토링(기능 변화 X)
test: 테스트 관련 코드
build: 빌드 시스템이나 외부 종속성(라이브러리, 도구) 관련 변경
ci: 지속적 통합(CI) 시스템 관련 변경
perf: 코드 성능 개선을 목적으로 하는 변경
chore: 비즈니스 로직이나 코드 동작과 직접적으로 관련 없는 변경
2] scope
Commit Message를 작성할 때 선택사항 입니다.
Commit 변경사항의 특정 범위를 지칭합니다.
적합한 범위가 없을 시 기호(*)를 사용할 수 있습니다.
3] subject
변경 사항을 짧게 설명해줍니다.
명령형, 현재형을 사용합니다.
add A to B(o), A is added into B(X)
add(o), added(x), adds(x)
첫 문자는 소문자를 사용합니다.(대문자 사용 X)
문장 끝에 마침표(.)를 사용하지 않습니다.
Body
명령형, 현재형을 사용합니다.
변화에 대한 동기와 이전 동작과의 대조를 포함합니다.
Footer
Breaking changes
주요 변경 사항을 작성합니다.
공백 또는 두개의 줄 바꿈을 사용합니다.
키워드 “BREAKING CHANGE” 를 사용합니다.
커밋 메시지의 나머지 부분은 변경 사항에 대한 설명, 근거 및 마이그레이션 메모를 작성합니다.
Referencing issues
이슈 해결 시: Footer 영역에의 별도의 줄로 작성합니다.
접두사 “Closes” 를 사용합니다.
fix(board): ... (body ....) Closes #180 Breaks foo.bar api, foo.baz should be used instead