타입 | 설명 |
---|---|
feat | ✨ 기능 추가 – 사용자 기능, API, UI 등 새 기능 추가 시 |
fix | 🐛 버그 수정 – 문제 해결 및 기능 오류 수정 |
docs | 📚 문서 변경 – README, 주석 등 문서 관련 변경 |
style | 💄 스타일 변경 – 포맷팅, 세미콜론 등 코드 의미에 영향 없는 변경 |
refactor | 🔨 코드 리팩터링 – 기능 변화 없이 구조 개선 |
perf | ⚡ 성능 개선 – 속도 향상, 메모리 최적화 등 |
test | ✅ 테스트 – 테스트 코드 추가, 수정, 제거 |
build | 🏗 빌드 – 빌드 시스템 또는 외부 의존성 관련 작업 (예: Webpack, Babel) |
ci | 🤖 CI – CI 설정 파일 수정 (예: GitHub Actions, Travis 등) |
chore | 🔧 기타 변경 – 잡일성 작업 (예: 패키지 설치, 스크립트 실행 결과 반영 등) |
revert | ⏪ 커밋 되돌리기 – 이전 커밋을 원상복구할 때 사용 |
✅ Tip: 필요시 범주를 함께 표시할 수 있어요
예:chore(deps): 패키지 업데이트
,docs(readme): 사용법 수정
괄호 안에
deps
,ci
,scripts
,readme
등 소분류를 덧붙이면
어떤 작업에 대한 커밋인지 더 명확해지고, 커밋 로그를 분류하거나 필터링하기에도 좋습니다.❗ 하지만 괄호 사용은 선택 사항이며, 아래와 같이 안 써도 전혀 문제 없습니다.
특히feat
,fix
처럼 커밋 자체로 의미가 명확할 경우 괄호를 생략하는 것이 더 깔끔할 수 있습니다.
예시 👇
chore: 패키지 업데이트
fix: 로그인 시 에러 메시지 수정
feat: 다크모드 기능 추가
vs
chore(deps): 패키지 업데이트
fix(auth): 로그인 에러 처리
feat(ui): 다크모드 토글 버튼 추가
✅ 어느 쪽이든 일관성 있게 사용하는 것이 가장 중요합니다.
혼자 하는 프로젝트는 자유롭게, 협업 시에는 팀 규칙을 정해두면 더 좋아요.