Git

Git 커밋 컨벤션 가이드: 협업을 위한 베스트 프랙티스

422haha 2025. 1. 3. 17:28

안녕하세요! 이번 포스팅에서는 Git 커밋 컨벤션에 대해 알아보고, 협업 프로젝트에서 일관된 커밋 메시지를 작성하기 위한 베스트 프랙티스를 공유합니다.

깔끔하고 일관된 커밋 메시지는 협업 과정에서 팀원 간의 이해도를 높이고, 프로젝트 유지보수를 쉽게 만들어줍니다. 이 글을 통해 커밋 메시지 작성 규칙과 실무에서 바로 적용 가능한 팁을 얻어가시길 바랍니다!


목차

  1. Git 커밋 컨벤션이란?
  2. 커밋 메시지의 기본 구조
  3. 대표적인 커밋 컨벤션 스타일
  4. 협업을 위한 커밋 작성 베스트 프랙티스
  5. 커밋 메시지 작성 도구와 자동화

1. Git 커밋 컨벤션이란?

Git 커밋 컨벤션은 협업 프로젝트에서 일관된 커밋 메시지를 작성하기 위한 규칙입니다. 이를 통해 다음과 같은 장점을 얻을 수 있습니다:

  • 코드 변경의 히스토리를 명확하게 기록
  • 코드 리뷰 과정에서 의사소통 원활화
  • 자동화 도구(릴리즈 로그 생성, 테스트 실행 등)와의 통합 용이성

2. 커밋 메시지의 기본 구조

일반적으로 커밋 메시지는 다음과 같은 구조를 따릅니다:

<타입>(<스코프>): <짧은 설명>

<본문>

<푸터>

2.1 제목 (Title)

  • 50자 이내로 작성
  • 현재형 동사를 사용 (e.g., "Add", "Fix", "Update")
  • 첫 글자는 대문자, 마침표는 사용하지 않음

2.2 본문 (Body)

  • 변경 사항의 상세 설명을 작성
  • "무엇을", "왜" 변경했는지 중심으로 작성

2.3 푸터 (Footer)

  • 버그 트래커 ID, Breaking Changes, 참조 정보를 포함

3. 대표적인 커밋 컨벤션 스타일

3.1 Conventional Commits

널리 사용되는 컨벤션으로, 제목에 타입스코프를 명시합니다.

예시:

feat(auth): Add JWT authentication support

This update implements JWT authentication for secure API access. Added token validation middleware.

타입 목록:

  • feat: 새로운 기능 추가
  • fix: 버그 수정
  • docs: 문서 수정
  • style: 코드 스타일 변경 (동작 변경 없음)
  • refactor: 코드 리팩토링
  • test: 테스트 추가 또는 수정
  • chore: 기타 변경 사항 (빌드, 설정 파일 등)

3.2 Gitmoji

이모지를 활용해 커밋 메시지의 목적을 시각적으로 표현합니다.

예시:

💡 feat: Add user profile feature
🛠️ fix: Resolve login page bug

3.3 Custom 스타일

팀에서 별도로 정의한 규칙을 사용하기도 합니다. 프로젝트에 맞는 유연한 스타일을 채택하세요.


4. 협업을 위한 커밋 작성 베스트 프랙티스

  • 의미 있는 단위로 커밋하기: 한 커밋에는 하나의 변경 사항만 포함.
  • 현재형 동사 사용: "Added" 대신 "Add"와 같은 현재형 사용.
  • 짧고 명확하게 작성: 제목은 50자, 본문은 필요 시 72자 단위로 줄바꿈.
  • 팀 컨벤션 준수: 팀원 간 합의된 스타일 유지.
  • 자동화 도구 활용: Linter나 pre-commit 훅으로 일관성 강제.

5. 커밋 메시지 작성 도구와 자동화

5.1 Commitizen

Conventional Commits 스타일로 커밋을 작성하도록 돕는 CLI 도구.

설치 및 사용:

npm install -g commitizen
commitizen init cz-conventional-changelog --save-dev --save-exact

5.2 Linting 도구

Husky를 사용해 pre-commit 훅으로 커밋 메시지 규칙 검사.

설치 및 설정:

npm install husky --save-dev
npx husky add .husky/commit-msg 'npx commitlint --edit "$1"'

최종 결론

일관된 Git 커밋 메시지 작성은 협업의 효율성을 높이고 프로젝트 관리에 큰 도움을 줍니다. 위에서 소개한 규칙과 도구를 활용하여 팀 내에서 통일된 컨벤션을 적용해 보세요. 더 나아가, 커밋 히스토리를 통해 과거의 변경 사항을 쉽게 이해하고 관리할 수 있습니다.

여러분의 프로젝트에서 효과적인 Git 사용이 이루어지길 바랍니다! 감사합니다.