Git 커밋 메시지는 명확하고 일관된 규칙을 따르는 것이 중요하다. 잘 작성된 커밋 메시지는 프로젝트 관리와 협업을 더욱 효율적으로 만들어 준다.
이 포스팅에서는 Git 커밋 메시지를 작성하는 기본 규칙과 유형별 예제를 정리한다.
1. Git Commit 메시지 작성 규칙
1) 첫 줄은 요약 (제목) 으로 짧고 간결하게 작성한다.
- 변경 사항을 한 문장으로 요약한다.
- 문장의 첫 단어는 동사 원형(현재형)을 사용한다. (Add, Fix, Update 등)
- 끝에 마침표( . ) 를 사용하지 않는다.
2) 필요하면 본문을 추가한다.
- 변경 사항에 대한 추가 설명이 필요한 경우 한 줄 띄운 후 작성한다.
- 변경 이유, 영향을 받는 기능, 참고할 이슈 등을 포함할 수 있다.
3) 관련 이슈 번호를 포함하는 것이 좋다.
- GitHub, GitLab, Jira 등을 사용한다면 #이슈번호 를 추가한다.
2. Git Commit 메시지 예제
1) 기능 추가 (Add)
git commit -m "Add user authentication system"
사용자 인증 기능을 추가한 경우이다.
git commit -m "Add new API endpoint for retrieving user profile"
사용자 프로필 정보를 가져오는 새로운 API를 추가한 경우이다.
2) 버그 수정 (Fix)
git commit -m "Fix login issue when using incorrect password"
비밀번호 오류 시 로그인 문제가 발생하는 버그를 수정한 경우이다.
git commit -m "Fix incorrect date formatting in reports (#123)"
날짜 포맷이 잘못 표시되는 버그를 수정하고 관련 이슈를 연결한 경우이다.
3) 기능 개선 / 업데이트 (Update, Improve)
git commit -m "Update README with installation instructions"
설치 방법을 README.md에 추가한 경우이다.
git commit -m "Improve performance of database queries in dashboard"
대시보드에서 데이터베이스 쿼리 성능을 개선한 경우이다.
4) 코드 리팩토링 (Refactor)
git commit -m "Refactor user service to use dependency injection"
user service 코드 구조를 개선한 경우이다.
git commit -m "Refactor CSS style to improve maintainability"
CSS 스타일 구조를 정리한 경우이다.
5) 파일 추가 / 삭제 (Add, Remove)
git commit -m "Add logging middleware for debugging"
디버깅을 위한 로깅 미들웨어를 추가한 경우이다.
git commit -m "Remove unused utility functions"
사용하지 않는 유틸리티 함수를 삭제한 경우이다.
6) 설정 변경 (Change, Configure)
git commit -m "Change default timeout value to 30s"
기본 타임아웃 값을 30초로 변경한 경우이다.
git commit -m "Configure ESLint to enforce consistent coding style"
ESLint 설정을 추가하여 코드 스타일을 일관되게 유지하도록 설정한 경우이다.
7) 문서 업데이트 (Docs)
git commit -m "Docs: Update API documentation with latest changes"
API 문서를 최신 변경 사항으로 업데이트한 경우이다.
git commit -m "Docs: ADd contributing guidelines"
CONTRIBUTING.md 문서를 추가한 경우이다.
3. Git Commit 메시지 템플릿
단순한 커밋 메시지
git commit -m "타입: 변경 내용"
예제:
git commit -m "Fix: Handle edge case for empty input"
상세 설명이 필요한 경우
git commit -m "타입 변경 내용
자세한 설명을 여기에 작성. 변경된 이유와 추가된 내용을 설명할 수 있음.
이슈 번호가 있다면 #123 형식으로 추가."
예제:
git commit -m "Add: User role management system
- 사용자의 역할(관리자, 일반 사용자)을 관리하는 기능 추가
- 기존 로그인 API와 연동하여 권한 검증 가능
- 관련 이슈: #45"
4. Commit 메시지 Prefix (커밋 유형)
Prefix | 설명 |
Add: | 새로운 기능 추가 |
Fix: | 버그 수정 |
Update: | 기능 개선, 수정 (새로운 기능 X) |
Improve: | 성능 개선 |
Refactor: | 코드 리팩토링 (기능 변경 없음) |
Remove: | 불필요한 파일, 코드 삭제 |
Docs: | 문서 변경 (README 등) |
Change: | 설정 변경 |
Test: | 테스트 코드 추가 또는 수정 |
5. Git 커밋 메시지 작성 시 주의할 점
좋은 커밋 메시지 예시
- "Add user authentication system"
- "Fix incorrect date formatting in reports"
- "Refactor CSS styles to improve maintainability"
나쁜 커밋 메시지 예시
- "수정함" (어떤 것을 수정했는지 알 수 없음)
- "버그 고침" (어떤 버그인지 설명 부족)
- "Update code" (어떤 업데이트인지 불분명)
6. 결론
- 첫 줄은 간결하게 요약하며 50자 이내로 작성한다.
- 동사 원형을 사용하여 변경 사항을 명확하게 표현한다.
- 필요한 경우 본문을 추가하여 변경 이유와 세부 사항을 설명한다.
- 관련 이슈 번호를 포함하면 더욱 효과적이다.
- 커밋 단위를 작게 유지하며 의미 있는 변경만 포함한다.
일관된 커밋 메시지를 사용하면 프로젝트 관리가 쉬워지고, 협업이 원활해질 것이다.
'Git' 카테고리의 다른 글
[Git] 모든 개발자가 알아야 할 18가지 Git 명령어 (3) | 2024.11.13 |
---|---|
[GIT] modified: (untracked content) 에러 해결하기 - submodule 삭제 (1) | 2023.05.31 |
[Git] git stash 란? (0) | 2022.12.17 |
Git 이전 커밋으로 롤백하기(git revert) (2) | 2022.12.14 |
Github SSH인증 (0) | 2022.10.17 |