Skip to content

Git Commit Convention

Yerdeee edited this page May 7, 2025 · 5 revisions

Git 커밋 메시지 컨벤션 가이드

일관된 Git 커밋 메시지를 유지하기 위해 아래의 커밋 메시지 컨벤션을 따릅니다.


📌 커밋 메시지 구조

기본 커밋 메시지는 다음의 세 가지 파트로 구성
각 파트는 한 줄씩 빈 줄을 두어 구분

<타입>(<범위>): <제목>

본문

꼬리말

  • <타입>: 커밋의 목적 (기능 추가, 버그 수정 등)
  • <범위>: 영향을 받은 파일이나 기능 (선택 사항)
  • <제목>: 간결하게 요약한 변경 사항
  • 본문: 변경 사항에 대한 자세한 설명 (선택 사항)
  • 꼬리말: 관련 이슈 번호 (선택 사항)

📌 구조별 설명

🧩 타입 작성 규칙

타입 설명
Feat 새로운 기능 추가
Fix 버그 수정
Docs 문서 수정 (코드 변경 없음)
Style 코드 포맷팅, 세미콜론 누락 등 기능에 영향 없는 수정
Refactor 코드 리팩토링 (기능 변화 없음)
Test 테스트 코드 추가 또는 수정
Chore 빌드 업무, 패키지 매니저 설정 등 기타 변경
Ci CI 관련 설정 수정
Perf 성능 개선 관련 코드
Build 빌드 시스템 또는 외부 의존성 관련 작업

🗂 범위 작성 규칙

  • 선택 사항이지만 사용 권장
  • 기능 또는 모듈의 이름으로 작성
  • 예시
    • Feat(auth) - 인증 관련 기능
    • Fix(api) - API 요청 관련 기능
    • Docs(README) - README

✏️ 제목 작성 규칙

  • 제목은 영어로 한 줄로 작성 (50자 이내 권장)
  • “~한다” 생략형으로 시작 (예: add initial design image)
  • 마침표(.) 사용 금지
  • 명확하고 구체적으로 작성
  • ':' 기호 앞에는 공백을 두지 않으며, 뒤에는 한 칸의 공백 추가
  • ':' 기호 뒤의 글자는 소문자

제목 예시

Feat(demo): add demo page and new folder structure


📝 본문 작성 규칙

  • 본문은 선택 사항이지만 작성하는 것을 권장
  • 한 줄 당 72자 이내로 작성
  • 어떻게 변경했는지보다, 무엇을 변경했는지 또는 변경했는지를 설명
  • 본문과 제목 사이에는 한 줄을 띄움

📝 꼬리말 작성 규칙

  • 이슈 트래커 ID를 명시할 때 사용
  • 형식: 유형: #이슈번호
  • 여러 개 이슈가 있을 경우 쉼표(,)로 구분

🔧 사용 가능한 이슈 유형

유형 설명
Fixes 아직 해결되지 않은 이슈 수정 중
Resolves 이슈를 완전히 해결했을 때
Ref 참고할 이슈가 있을 때
Related to 관련 있지만 아직 해결되지 않은 이슈

📌 커밋 메시지 예시

Feat(demo): add demo page and new folder structure

데모 페이지 생성

Resolves: #123 Ref: #456 Related to: #48, #45 (생략 가능)