Git 커밋 메시지 작성 가이드: 원칙과 실전 예제

Git 커밋 메시지는 코드 변경 사항을 기록하고, 협업 시 변경 내역을 명확하게 이해하는 데 중요한 역할을 합니다. 이 글에서는 효과적인 커밋 메시지를 작성하는 방법과 실전 예제를 소개합니다.

1. 커밋 메시지 기본 형식

일반적으로 커밋 메시지는 다음과 같은 형식을 따릅니다.

<타입>: <변경 사항 요약>

<본문 (선택 사항, 변경 사항 상세 설명)>

✅ 예시

feat: 사용자 로그인 기능 추가
fix: 회원가입 시 비밀번호 검증 오류 수정
refactor: API 응답 데이터 구조 변경

기존에 사용하던 응답 데이터에서 `userInfo` 필드를 제거하고,
`userDetails` 필드로 대체하였습니다. 이로 인해 일부 프론트엔드 코드 수정이 필요합니다.

2. Conventional Commits 규칙

일관된 커밋 메시지를 위해 Conventional Commits 규칙을 따르는 것이 좋습니다.

🎯 주요 커밋 타입

| 타입 | 설명 | |——|——| | feat | 새로운 기능 추가 | | fix | 버그 수정 | | refactor | 코드 리팩토링 (기능 변화 없음) | | style | 코드 스타일 변경 (포맷팅, 세미콜론 추가 등) | | docs | 문서 수정 (README 등) | | test | 테스트 코드 추가/수정 | | chore | 빌드 설정, 패키지 관리 등의 작업 | | perf | 성능 개선 |

3. 좋은 커밋 메시지 작성 팁

명확하고 간결하게 작성하기

  • 변경 사항이 무엇인지 한눈에 이해할 수 있도록 간단하게 표현하세요.

제목은 동사 원형으로 시작하기

  • 예: Add, Fix, Update, Remove

커밋 단위를 작게 유지하기

  • 하나의 커밋에는 하나의 논리적인 변경 사항만 포함하는 것이 좋습니다.

본문을 추가할 때는 왜 변경했는지를 설명하기

  • 코드 변경 자체보다는 이유를 설명하는 것이 중요합니다.

영어 또는 팀에서 합의된 언어 사용

  • 일반적으로 영어를 사용하지만, 프로젝트에서 정한 스타일을 따르면 됩니다.

4. Git 커밋 메시지 실전 예제

4.1 새로운 기능 추가 (feat)

feat: 소셜 로그인 기능 추가

Google OAuth를 이용한 소셜 로그인 기능을 추가하였습니다.
기존 회원가입 시스템과 통합되었으며, 로그인 API 엔드포인트는 `/auth/google` 입니다.

4.2 버그 수정 (fix)

fix: 로그인 시 비밀번호 검증 오류 해결

이전 버전에서는 비밀번호가 올바르게 검증되지 않는 문제가 있었습니다.
bcrypt 라이브러리를 활용하여 비밀번호 해싱 비교를 수정하였습니다.

4.3 리팩토링 (refactor)

refactor: 불필요한 console.log 제거

개발 중 사용했던 디버깅용 `console.log`를 제거하고,
로깅 시스템을 활용하도록 변경하였습니다.

4.4 문서 수정 (docs)

docs: README에 프로젝트 실행 방법 추가

로컬 환경에서 프로젝트를 실행하는 방법을 README에 추가하였습니다.

5. 마무리

Git 커밋 메시지는 프로젝트의 히스토리를 관리하고, 협업을 원활하게 하기 위한 중요한 요소입니다. 위의 원칙을 따르면 커밋 로그를 더 이해하기 쉽게 정리할 수 있습니다. 앞으로 커밋을 작성할 때 이 가이드를 참고해 보세요! 🚀

Leave a comment