Git commit 메시지의 좋은 예시들
git add .
git commit -m "feat: Implement user authentication system
- Add user registration functionality
- Add login/logout system
- Implement session management
- Add CSRF protection
- Create user and subscription tables
- Configure secure password hashing
- Add email validation
- Implement redirect handling after login/logout"
이 commit 메시지의 구조를 설명하면:
- feat: - 새로운 기능 추가를 의미하는 접두어
- 첫 줄은 변경사항의 간단한 요약
- 빈 줄
- 상세 변경사항을 bullet points로 나열
다른 접두어 예시들:
- fix: - 버그 수정
- docs: - 문서 변경
- style: - 코드 포맷팅, 세미콜론 누락 등
- refactor: - 코드 리팩토링
- test: - 테스트 코드 추가
- chore: - 빌드 작업 업데이트, 패키지 매니저 설정 등
이런 형식을 Conventional Commits라고 하며, 많은 기업들이 이 방식을 사용합니다.
이외에도 commit 메시지를 작성하는 팁을 정리해봅니다.
1. 커밋 메시지 구조
<type>: <subject>
<body>
<footer>
2. Type 종류
feat : 새로운 기능 추가
fix : 버그 수정
docs : 문서 수정
style : 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
refactor : 코드 리팩토링
test : 테스트 코드, 리팩토링 테스트 코드 추가
chore : 빌드 업무 수정, 패키지 매니저 수정
design : CSS 등 사용자 UI 디자인 변경
comment : 필요한 주석 추가 및 변경
rename : 파일 혹은 폴더명을 수정하거나 옮기는 작업
remove : 파일을 삭제하는 작업
!BREAKING CHANGE : 커다란 API 변경
!HOTFIX : 급하게 치명적인 버그를 고쳐야 하는 경우
3. 좋은 커밋 메시지의 7가지 규칙
1) 제목과 본문을 빈 행으로 구분
2) 제목은 50자 이내
3) 제목 첫 글자는 대문자
4) 제목 끝에 마침표 없음
5) 제목은 명령문으로 (동사원형으로 시작)
6) 본문은 72자마다 줄바꿈
7) 본문은 "어떻게"가 아닌 "무엇을", "왜"를 설명
4. 실제 예시들:
# 기능 추가
feat: Add password strength validation
- Implement minimum length check
- Add special character requirement
- Add number requirement
# 버그 수정
fix: Resolve login redirect issue
- Fix incorrect path after successful login
- Add proper error handling for failed attempts
# 리팩토링
refactor: Improve authentication logic
- Extract validation methods to separate class
- Implement proper dependency injection
- Remove duplicate code in login process
# 문서 수정
docs: Update README with setup instructions
- Add database configuration steps
- Include troubleshooting guide
- Update API documentation
# 긴급 수정
!HOTFIX: Fix security vulnerability in login
- Patch SQL injection vulnerability
- Add input sanitization
- Update error logging
5. 커밋 크기에 대한 팁
- 하나의 커밋은 하나의 논리적 변경을 포함
- 너무 크거나 작지 않게 적절한 크기로 분할
- 테스트가 포함된 완전한 변경사항만 커밋
6. 자주 사용되는 동사:
Add : 새로운 기능이나 파일 추가
Remove : 파일 삭제
Fix : 버그 수정
Update : 기존 기능 수정/보완
Implement: 기능 구현
Refactor : 코드 리팩토링
Optimize : 성능 개선
Set up : 초기 설정
Initialize: 초기화 작업
'개발공부 > Git' 카테고리의 다른 글
공부일지 | #3. Git 사용법 숙지 후 GitHub 업로드 완료 (0) | 2022.10.28 |
---|---|
[GitHub] 최초 등록 방법 (0) | 2022.10.26 |
[Git] 주요 명령어(2) git branch 생성, 변경, 병합 (0) | 2022.10.25 |
[Git] 주요 명령어(1) git status, add, commit -m '내용', log (0) | 2022.10.24 |
[Git] 설치 / 폴더 지정 / git init (윈도우OS 기준) (0) | 2022.10.24 |