효과적인 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. 좋은 커밋 메시지 작성 규칙
제목 작성 규칙
- 타입은 영문 소문자로 시작해요
- 제목은 50자 이내로 작성해요
- 마침표로 끝내지 않아요
- 명령문으로 작성해요 (동사원형 사용)
예시를 볼까요?
feat: 회원가입 기능 구현
fix: 로그인 버그 수정
docs: README 업데이트
본문 작성 규칙
- 한 줄당 72자 이내로 작성해요
- 상세한 설명이 필요한 경우에만 작성해요
- 어떻게 변경했는지보다 무엇을, 왜 변경했는지 설명해요
다음과 같이 작성할 수 있어요:
refactor: 사용자 인증 로직 개선
- JWT 토큰 방식으로 변경했어요
- 리프레시 토큰을 도입해서 보안성을 강화했어요
- 토큰 만료 시간을 24시간으로 설정했어요
4. 실제 사용 예시
기능 추가
feat: 회원가입 이메일 인증 기능 추가
- 회원가입 시 이메일 인증 프로세스를 추가했어요
- 인증 메일 템플릿을 구현했어요
- 인증 토큰은 24시간 후 만료되도록 설정했어요
Resolves: #123
버그 수정
fix: 모바일에서 메뉴 버튼 클릭 시 반응 없는 문제 해결
- 모바일 환경에서 이벤트 리스너가 동작하지 않는 버그를 수정했어요
- 터치 이벤트 핸들러를 추가했어요
Fixes: #456
5. 커밋 메시지 작성 시 주의사항
- 일관성 유지하기
- 팀에서 정한 컨벤션을 일관되게 지켜주세요
- 커밋의 단위는 논리적 단위로 구성해주세요
- 검색 가능하게 작성하기
- 나중에 찾기 쉽도록 명확한 키워드를 사용해주세요
- 관련 이슈 번호는 반드시 포함해주세요
- 간결하면서도 명확하게
- 불필요한 단어는 제외해주세요
- 변경 사항을 명확하게 전달해주세요
마무리
좋은 커밋 메시지는 프로젝트의 히스토리를 이해하기 쉽게 만들어줘요. 위의 가이드라인을 참고해서 팀원들과 효과적으로 협업하시길 바라요!
참고 자료
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 |