본문 바로가기

Git

Git 커밋 메시지 컨벤션(Conventional Commits) 표 + 예시 정리

한국어로 할 때도 간략하게 동사 마무리 깔끔하게 예시

 

  • feat: JWT 인증 기능 추가
  • fix: 이미지 업로드 오류 수정
  • docs: README 설치 방법 수정
  • style: 들여쓰기 수정

 

Git 커밋 메시지 컨벤션에 따라 표를 다음과 같이 작성할 수 있습니다. 이 표는 AngularJS 커밋 컨벤션을 기반으로 합니다.

feat 새로운 기능 추가 feat(auth): add JWT authentication
fix 버그 수정 fix(profile): correct image upload error
docs 문서 추가/수정 docs(readme): update installation steps
style 코드 의미에 영향 없는 변경 (포맷팅, 세미콜론 등) style: fix indentation
refactor 코드 리팩토링 (기능 변경 없음) refactor(user-service): optimize logic
test 테스트 코드 추가/수정 test(service): add unit tests
chore 빌드/유지 관리 작업 chore: update dependencies
perf 성능 개선 perf(query): optimize DB performance
build 빌드 관련 변경 build: update Dockerfile
ci CI 설정 파일 변경 ci: configure GitHub Actions

각 메시지는 <type>(<scope>): <subject> 형식으로 작성됩니다.

커밋 메시지 형식

Conventional Commits 방식에서 커밋 메시지는 다음과 같은 형식을 따릅니다.

<type>(<scope>): <subject>
  • type: 커밋의 목적을 나타냅니다. (예: feat, fix, docs, style 등)
  • scope (선택 사항): 변경된 코드의 범위나 모듈을 명시합니다.
  • subject: 간결하고 명확하게 변경 내용을 설명합니다.

커밋 예시

1. 새로운 기능 추가

 
feat(auth): add JWT authentication​

설명: 인증 관련 기능에 JWT 인증을 추가한 커밋입니다.

2. 버그 수정

fix(user-profile): correct profile image upload error​

설명: 사용자 프로필 이미지 업로드 중 발생한 버그를 수정한 커밋입니다.

3. 코드 스타일 수정

style: fix code formatting in Application.java

설명: 코드 포맷팅을 수정한 커밋입니다. 기능에 영향을 주지 않는 포맷팅만 수정된 경우에 사용합니다.

4. 리팩토링

refactor(user-service): optimize user retrieval logic

설명: UserService의 사용자 검색 로직을 최적화한 커밋입니다. 기능 변경 없이 구조만 개선되었습니다.

5. 문서 수정

docs: update README with API usage examples

설명: README에 API 사용 예시를 추가한 커밋입니다.

6. 테스트 코드 추가

test(user-service): add unit tests for user creation

설명: UserService의 사용자 생성 로직에 대한 단위 테스트를 추가한 커밋입니다.

7. 빌드 관련 설정 변경

build: update Gradle version to 7.1

설명: 빌드 도구인 Gradle의 버전을 업데이트한 커밋입니다.

8. 성능 개선

perf(query): optimize database query for faster user retrieval

설명: 데이터베이스 쿼리를 최적화하여 사용자 검색 속도를 개선한 커밋입니다.

9. CI 설정 변경

ci: add GitHub Actions workflow for running tests

설명: GitHub Actions를 사용해 테스트를 자동화하는 CI 워크플로우를 추가한 커밋입니다.

커밋 컨벤션의 장점

  1. 일관성: 팀 내에서 커밋 메시지를 일관되게 작성함으로써, 변경 사항을 쉽게 추적할 수 있습니다.
  2. 자동화 도구 연동: Conventional Commits는 릴리즈 노트 생성, 자동 버전 관리 등 다양한 도구와 연동하여 유용하게 사용할 수 있습니다.
  3. 가독성: 커밋 메시지에 어떤 변경이 이루어졌는지 쉽게 파악할 수 있어, 코드 리뷰 시 유용합니다.

 

 

원본 링크 요약 정리

https://gist.github.com/stephenparish/9941e89d80e2bc58a153

'Git' 카테고리의 다른 글

깃 주요 명령어 정리  (0) 2024.10.23
인텔리제이에서 git 쉽게 다루기!  (0) 2024.10.17