Today I Learned
commit convention
떼굴펜
2024. 6. 4. 10:10
컨벤션 구조
<타입>[적용 범위(선택 사항)]: <설명>
[본문(선택 사항)]
[꼬리말(선택 사항)]
사용 예시
feat: 무한 스크롤 // <타입>:<space><설명> // 필수 규격
feat(api): email 전송 기능 추가 // 타입[적용범위]: 설명
feat!: 배송 완료 시 고객에게 이메일 전송 // 타입!:설명 // !는 단절적 변경을 강조
*단절적 변경(breaking change) : 다른 것에 영향을 끼칠 수 있는 변경
각 영역에 들어가는 정보들
타입
- feat : 새 기능 추가
- fix : bugfix
- 그 외 : 앵귤러 컨벤션 기반 타입들 (build, chore, ci, docs, style, refactor, perf, test)
적용 범위 (optional)
: 코드베이스가 적용되는 영역을 기술하는 명사
설명
: 코드 변경 사항에 대한 짧은 요약
본문 (optional)
: 코드 변경 사항에 대한 추가적인 정보 제공
꼬리말 (optional)
: 각각의 꼬리말은 반드시 단어 토큰 그 뒤에 ':<space>' 또는 '<space>#' 그 뒤에 문자열 값으로 구성되어야 함
꼬리말의 토큰은 공백 문자 대신 '-'을 사용해야함
본문 꼬리말 사용 예시
fix: prevent racing of requests
Introduce a request id and a reference to latest request. Dismiss
incoming responses other than from latest request.
Remove timeouts which were used to mitigate the racing issue but are
obsolete now.
Reviewed-by: Z
Refs: #123
Conventional Commits
커밋 메시지에 사용자와 기계 모두가 이해할 수 있는 의미를 부여하기 위한 스펙
www.conventionalcommits.org