컨벤셔널 커밋(Conventional Commits)은 깃 등의 커밋 메시지에 변경 종류를 일정한 형식으로 쓰는 규약이다. 사람에게 변경 이유를 설명하면서 도구가 릴리스 노트나 버전 증가를 판단할 단서도 제공한다. 기본 형식은 종류(선택적 범위): 설명이다. (컨벤셔널 커밋 1.0.0)
메시지의 구분
fix(viewer): 확대할 때 잘리는 캡션 수정은 버그 수정의 예다.feat(search): 태그로 결과 좁히기는 새 기능을 표시하는 예다.- 호환성을 깨는 변경은 종류·범위 뒤의
!또는 푸터의BREAKING CHANGE:로 표시한다. docs나test같은 다른 종류도 사용할 수 있다. 이 종류만으로 특정한 버전 증가가 자동으로 정해지는 것은 아니다.
시맨틱 버저닝과 연결할 때 fix는 패치, feat는 마이너, 호환성을 깨는 변경은 메이저 증가에 대응한다. 같은 형식을 썼더라도 실제 변경이 올바르게 분류됐는지는 별도로 검토해야 한다. (규격과 버전 대응)