본문 바로가기

Programing

Git 커밋 메시지 컨벤션: 효과적인 커밋 메시지 작성 가이드

 
효과적인 Git 커밋 메시지는 프로젝트의 히스토리를 명확하게 이해할 수 있게 해주는 중요한 요소예요. 이 글에서는 팀과 협업할 때 유용한 커밋 메시지 컨벤션에 대해 알아볼게요.

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

커밋 메시지는 다음과 같은 기본 구조를 가지고 있어요:

<type>: <subject>

<body>

<footer>

각 구성 요소 설명

  • type: 커밋의 종류를 나타내요
  • subject: 커밋의 간단한 설명을 작성해요
  • body: 커밋의 자세한 설명을 적어요 (필요한 경우에만 작성)
  • footer: 이슈 번호 등을 명시해요 (필요한 경우에만 작성)

2. 커밋 타입 (Type)

커밋 타입은 다음과 같이 구분할 수 있어요:
타입설명예시

feat새로운 기능 추가feat: 회원가입 기능 구현
fix버그 수정fix: 로그인 실패 문제 해결
docs문서 수정docs: README 업데이트
style코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우style: 들여쓰기 수정
refactor코드 리펙토링refactor: 중복 코드 제거
test테스트 코드, 리펙토링 테스트 코드 추가test: 회원가입 테스트 추가
chore빌드 업무 수정, 패키지 매니저 수정chore: package.json 업데이트

3. 좋은 커밋 메시지 작성 규칙

제목 작성 규칙

  1. 타입은 영문 소문자로 시작해요
  2. 제목은 50자 이내로 작성해요
  3. 마침표로 끝내지 않아요
  4. 명령문으로 작성해요 (동사원형 사용)

예시를 볼까요?

feat: 회원가입 기능 구현
fix: 로그인 버그 수정
docs: README 업데이트

본문 작성 규칙

  1. 한 줄당 72자 이내로 작성해요
  2. 상세한 설명이 필요한 경우에만 작성해요
  3. 어떻게 변경했는지보다 무엇을, 왜 변경했는지 설명해요

다음과 같이 작성할 수 있어요:

refactor: 사용자 인증 로직 개선

- JWT 토큰 방식으로 변경했어요
- 리프레시 토큰을 도입해서 보안성을 강화했어요
- 토큰 만료 시간을 24시간으로 설정했어요

4. 실제 사용 예시

기능 추가

feat: 회원가입 이메일 인증 기능 추가

- 회원가입 시 이메일 인증 프로세스를 추가했어요
- 인증 메일 템플릿을 구현했어요
- 인증 토큰은 24시간 후 만료되도록 설정했어요

Resolves: #123

버그 수정

fix: 모바일에서 메뉴 버튼 클릭 시 반응 없는 문제 해결

- 모바일 환경에서 이벤트 리스너가 동작하지 않는 버그를 수정했어요
- 터치 이벤트 핸들러를 추가했어요

Fixes: #456

5. 커밋 메시지 작성 시 주의사항

  1. 일관성 유지하기
    • 팀에서 정한 컨벤션을 일관되게 지켜주세요
    • 커밋의 단위는 논리적 단위로 구성해주세요
  2. 검색 가능하게 작성하기
    • 나중에 찾기 쉽도록 명확한 키워드를 사용해주세요
    • 관련 이슈 번호는 반드시 포함해주세요
  3. 간결하면서도 명확하게
    • 불필요한 단어는 제외해주세요
    • 변경 사항을 명확하게 전달해주세요

마무리

좋은 커밋 메시지는 프로젝트의 히스토리를 이해하기 쉽게 만들어줘요. 위의 가이드라인을 참고해서 팀원들과 효과적으로 협업하시길 바라요!
 
참고 자료

Conventional Commits (https://www.conventionalcommits.org)
Angular Commit Message Guidelines
Git SCM Documentation

'Programing' 카테고리의 다른 글

프로그래밍 언어 비교  (1) 2024.11.26
프로젝트 코드 흐름 파악 방법  (2) 2024.11.25
IntelliJ 단축키 모음  (1) 2024.11.13
WAF의 정의와 필요성  (0) 2024.11.12
현재 chrome 브라우저 버전 확인  (0) 2022.01.18