프로그래밍/Git
[Git] 깃 커밋 메시지 컨벤션(Git Commit Message Convention)
I'm_
2024. 1. 24. 12:42
✅ Git 커밋 메시지 컨벤션이란?
프로젝트 참여자들이 일관된 형식의 커밋 메시지를 작성하기 위한 규칙으로 관습적으로 통용되는 가이드라인이 있지만, 각 프로젝트에 따라서 별도의 규칙을 만들기도 한다.
- 가독성 및 의사소통 효율성 제고
- 소스 변경 이력 효율적 추적 및 문제 해결 속도 향상
✅ Git 커밋 메시지 작성방법
// Git 커밋 메세지 컨벤션
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
// 예시
feat: 음식 조회 기능 추가
- 음식 단일 조회 기능 구현
- 음식 전체 조회 기능 구현
Closes #123
📌 type : 변경 사항의 유형
- gitmoji를 사용하면 이모티콘만 보고 커밋의 목적과 의도를 쉽게 식별할 수도 있다.
유형 | 내용 |
Feat | 새로운 기능 추가 |
Fix | 버그 수정 |
Design | CSS 등 UI 디자인 변경 |
!BREAKING CHANGE | 커다란 API 변경의 경우 |
!HOTFIX | 급하게 치명적인 버그를 고쳐야하는 경우 |
Style | 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우 |
Refactor | 프로덕션 코드 리팩토링 |
Comment | 필요한 주석 추가 및 변경 |
Docs | 문서를 수정한 경우 |
Test | 테스트 코드 추가, 테스트 리팩토링(프로덕션 코드 변경 없음) |
Chore | 빌드 테스트 업데이트, 패키지 매니저를 설정하는 경우(프로덕션 코드 변경 없음) |
Init | 프로젝트 초기 생성 |
Rename | 파일 혹은 폴더명 수정하거나 옮기는 경우 |
Remove | 파일을 삭제하는 작업만 수행하는 경우 |
📌 description : 변경 작업의 제목이나 간단한 요약
- 보통 50자 이내
- 영문인 경우 대문자로 시작하고 마침표를 사용하지 않음
📌 body : 선택사항으로 작업 내용이 복잡하거나 상세한 내용을 남기는 경우
- 보통 한 줄 당 72자 이내
📌 footer : 선택사항으로 코드 작업과 관련된 이슈 번호 또는 참조 링크 등 추가
- 이슈 트래커 ID 작성
- 여러 개의 이슈 번호는 쉼표로 구분
- 예) Fixes: #40 Related to: #29, #30
이슈 트래커 유형 | 내용 |
Fixes | 이슈 수정 중 |
Resolves | 이슈 해결 |
Ref | 참고할 이슈 |
Related to | 해당 커밋에 관련된 커밋 번호 |
📚 참고자료
- https://yozm.wishket.com/magazine/detail/1974/
- https://velog.io/@parkirae/git-Commit-message-Convention
- https://inpa.tistory.com/entry/GIT-%E2%9A%A1%EF%B8%8F-Gitmoji-%EC%82%AC%EC%9A%A9%EB%B2%95-Gitmoji-cli
- https://overcome-the-limits.tistory.com/entry/%ED%98%91%EC%97%85-%ED%98%91%EC%97%85%EC%9D%84-%EC%9C%84%ED%95%9C-%EA%B8%B0%EB%B3%B8%EC%A0%81%EC%9D%B8-git-%EC%BB%A4%EB%B0%8B%EC%BB%A8%EB%B2%A4%EC%85%98-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0