1. Commit 메시지 구조
커밋 메시지는 다음과 같은 구조로 작성합니다:
type: (제목)
body: (본문)
footer: (꼬리말)
제목 (Subject)
- 최대 50글자를 넘지 않도록 작성하며 마침표(
.
)는 사용하지 않습니다.
- 전체 작업 내용을 간단하게 요약 서술합니다.
- 영어로 작성할 경우 동사 원형을 사용합니다.
- 제목의 첫 글자가 영문일 경우 첫 글자는 대문자로 작성합니다.
본문 (Body)
- 상세한 설명이 필요한 경우에만 작성합니다.
- "어떻게 했는지"가 아니라, "무엇을 왜 했는지"를 작성합니다.
- 한 줄 당 72자 내로 작성합니다.
- 본문의 각 줄은 공백으로 시작하지 않으며, 문장 끝에 마침표를 붙이지 않습니다.
꼬리말 (Footer)
- Issue Tracker ID가 있을 경우 추가적으로 작성합니다.
- 여러 개의 이슈를 참조할 경우
,
로 구분합니다.
2. Commit Type
Type |
설명 |
feat |
새로운 기능을 추가할 때 |
fix |
버그를 수정할 때 |
docs |
README 등 문서를 수정할 때 |
style |
코드 포매팅 (들여쓰기, 세미콜론 등) 변경 시 |
refactor |
코드 리팩토링 (기능 변경 없이 개선) |
design |
UI 디자인 변경 (HTML/CSS 수정) |
build |
빌드 파일 수정 |
test |
테스트 코드 작성 및 수정 |
chore |
외부 라이브러리 추가, 설정 변경 등 기타 작업 |
ci |
CI/CD 설정 변경 |
revert |
이전 커밋을 되돌릴 때 |
3. Commit 메시지 예시
기능 추가 예시
feat: 로그인 기능 추가
사용자가 이메일과 비밀번호로 로그인할 수 있도록 기능을 구현함.
JWT를 사용하여 인증을 처리하도록 구성함.
Closes: #123
버그 수정 예시
fix: 로그인 시 비밀번호 검증 오류 수정
비밀번호 검증 로직에서 비교 연산자가 잘못 적용된 문제를 수정함.
Resolves: #456
문서 수정 예시
docs: Git 커밋 컨벤션 문서 추가
팀원들이 참고할 수 있도록 Git 커밋 메시지 작성 가이드를 문서화함.
Revert 커밋 예시
revert: 로그인 기능 추가 롤백
로그인 기능에서 발생한 치명적인 버그로 인해 이전 커밋을 되돌림.
Reverts commit abc1234
CI/CD 설정 변경 예시
ci: GitHub Actions 워크플로 수정
배포 단계에서 환경 변수를 올바르게 설정하도록 수정함.
4. Commit 메시지 작성 원칙
- 명확하고 간결하게 작성할 것
- 동작하는 최소 단위의 변경 사항만 포함할 것
- 하나의 커밋에는 하나의 목적을 가질 것
5. Commit 메시지 작성 금지 사항
- 모호한 메시지 사용 금지 (
fix bug
, update
, modify
등)
- 의미 없는 커밋 (
ㅇㅇ
, 테스트
, 수정함
등)
- 한 커밋에 여러 가지 변경 사항 포함 금지
6. 참고 사항