- 깃 이모지 사용: 커밋 타입을 나타내는 이모지를 맨 앞에 사용
- 원자적 커밋: 하나의 커밋은 하나의 논리적 변경사항만 포함
- 간결하게 한 줄로: 커밋 메시지는 한 줄로 간결하게 작성
| 이모지 | 코드 | 설명 |
|---|---|---|
| ✨ | :sparkles: |
새로운 기능 추가 |
| 🐛 | :bug: |
버그 수정 |
| 🔧 | :wrench: |
설정 파일 수정 |
| 📝 | :memo: |
문서 추가/수정 |
| 💄 | :lipstick: |
UI/스타일 파일 추가/수정 |
| ♻️ | :recycle: |
코드 리팩토링 |
| 🔥 | :fire: |
코드/파일 삭제 |
| 🚀 | :rocket: |
배포/성능 개선 |
| ✅ | :white_check_mark: |
테스트 추가/수정 |
| 🔒 | :lock: |
보안 이슈 수정 |
| ⬆️ | :arrow_up: |
의존성 업그레이드 |
| ⬇️ | :arrow_down: |
의존성 다운그레이드 |
| 🎨 | :art: |
코드 구조/포맷 개선 |
| 🚧 | :construction: |
작업 진행 중 |
| 💚 | :green_heart: |
CI 빌드 수정 |
| 📦 | :package: |
패키지 또는 빌드 관련 |
| 🔀 | :twisted_rightwards_arrows: |
브랜치 병합 |
# 좋은 예
git commit -m "✨ 사용자 인증 기능 추가"
git commit -m "🐛 로그인 버튼 클릭 오류 수정"
git commit -m "🔥 불필요한 레거시 파일 삭제"
git commit -m "📝 README 설치 가이드 추가"
git commit -m "♻️ API 호출 로직 리팩토링"
# 나쁜 예 (여러 변경사항을 한 커밋에)
git commit -m "기능 추가 및 버그 수정 및 문서 업데이트"
# 나쁜 예 (설명이 너무 김)
git commit -m "사용자 인증 기능을 추가했습니다. 이 기능은 JWT를 사용하며..."하나의 커밋은 다음 중 하나만 포함해야 합니다:
- 하나의 기능 추가
- 하나의 버그 수정
- 하나의 리팩토링 작업
- 관련된 설정 변경
여러 작업을 했다면 각각 별도의 커밋으로 분리합니다.