커밋 단위 설정 가이드라인
하나의 커밋은 하나의 목적을 가져야 한다.
- 여러 목적이 섞인 커밋은 이해하기 어렵고, 나중에 특정 변경사항을 추적하기 힘들어진다.
의미 있는 변경 단위
- 커밋은 의미 있는 변경 단위를 포함해야 한다. 예를 들어, 다음과 같은 단위로 커밋을 나눌 수 있다.
- 새로운 기능 추가
- 버그 수정
- 리팩토링
- 문서 업데이트
- 테스트 추가
작은 단위로 커밋
- 커밋은 가능한 한 작은 단위로 나눈다.
- 위 원칙을 유지하되, 의미 없는 변경 사항으로 커밋 히스토리가 가득 차지 않도록 한다.
논리적인 변화 단위
- 변경사항이 논리적으로 연결된 경우 한 커밋으로 묶는다.
- 예를 들어, 새로운 기능을 추가하면서 관련된 테스트 코드를 함께 추가하는 경우 하나의 커밋으로 묶는다. 이런 경우 커밋의 타입은 주요 변경사항을 선택한다. 이 경우, “feat”
작업 단위로 커밋
- 작업을 마무리한 후, 그 작업 단위로 커밋을 한다. 예를 들어, 로그인 기능을 구현하는 작업을 마쳤다면 이를 하나의 커밋으로 묶는다.
커밋 메시지 구조
커밋 메시지는 다음과 같은 구조로 작성한다.
<타입>(<스코프>): <제목>
<BLANK LINE>
<본문>
<BLANK LINE>
<footer>
타입(Type)
타입은 커밋의 목적을 나타내며, 다음과 같은 유형이 있다.