[Git] Git Commit Convention, 깃 커밋 컨벤션

그냥사람·2024년 11월 23일

Git Commit Convention

협업 시 원활한 소통을 위해 규칙에 맞는 Commit Message 작성이 필요하다.
기본적으로 제목만 간단히 입력할 경우 'git commit -m [type: subject]' 를 사용하고,
본문과 footer까지 작성할 경우 'git commit'을 사용한다. (작성 창으로 이동.)

기본 구조

type: subject (type 바로 옆에 콜론(:)을 붙인다)

body (생략가능)

footer (생략가능)


1. Type (커밋 종류)

타입명설명
feat새로운 기능 추가
fix버그 수정
docs문서 수정
style코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
refactor코드 리팩토링
test테스트 코드, 리팩토링 테스트 코드 추가
chore빌드 업무 수정, 패키지 매니저 수정, production code와 무관한 부분들(.gitignore, build.gradle 등)
comment주석 추가 및 변경
remove파일, 폴더 삭제
rename파일, 폴더명 수정

2. Subject (제목)

  • 영어로 작성 시 동사원형을 가장 앞에 작성한다.
동사 원형의미
Add추가
Remove삭제
Simplify단순화
Update보완
Implement구현
Prevent방지
Move이동
Rename이름 변경
  • 제목은 최대 50자를 넘기지 않게 작성
  • 마침표 및 특수기호는 사용하지 않음

3. body (본문)

  • 한 줄당 72자 내로 작성
  • 최대 글자 제한 없음. 최대한 상세하게 작성
  • 어떻게 변경했는지 (X) → 무엇을 변경했는지, 변경했는지 (O)

  • "유형: #이슈 번호" 형식으로 작성
    - 여러 개의 이슈 번호를 적을 경우 쉼표(,)로 구분
  • 예시)
    Fixes: #10
    Related to: #13, #28
유형의미
Fixes~로부터 수정 중인 이슈(해결 중인 경우)
Resolves~로부터 해결된 이슈
Ref~로부터 참고할 이슈
Related to해당 커밋에 관련된 이슈(해결 중인 경우)

사용 예시

Fix: Update Register Logic

Chore: Update .gitignore

.gitignore에 .classpath 추가

Feat: "회원가입 기능 구현"

회원 정보를 받아 DB에 저장

Resolves: #102
Relaed to: #82, #90
profile
Simple is Best, 간결하게 살자

0개의 댓글