커밋 메세지 컨벤션이란?
코드 변경 사항을 요약하여 전달하는 역할을 한다.
프로젝트 참여자들이 일관된 형식의 메세지를 작성하기 위한 규칙이다.
관습적으로 통용되는 가이드라인이 있지만, 각 프로젝트에 따라서 별도의 규칙을 만들어서 적용하기도 한다.
중요성
프로젝트 관리와 협업에 있어서 중요한 부분이다.
정해진 규칙이 있음에 따라 개발자들 서로의 작업을 이해하고 효율적으로 대처할 수 있는 프로젝트 환경을 만들 수 있다.
1) 가독성 및 커뮤니케이션 효율성
- 코드 리뷰 및 버그 수정과정에서 불필요한 의사소통 과정을 간소화 하여 프로젝트 관리에 들어가는 시간 감소
2) 변경 이력 추적 및 문제 해결속도 향상
- 소스 변경 이력을 쉽게 추적할 수 있게됨.
- 즉, 문제 발생 시 더 빠르게 원인을 찾아 수정 할 수 있으며, 전반적인 프로젝트 안정성을 향상시킬 수 있다.
커밋 메시지 구조
커밋 메시지 구조는 크게 3가지로 나뉜다(제목, 본문, 꼬리말)
type: Subject -> 제목
(한칸 띄우기)
body(생략가능) -> 본문
(한칸 띄우기)
footer(생략 가능) -> 꼬리말
커밋 타입
- feat : 새로운 기능 추가
- fix : 버그 수정
- docs : 문서 수정
- style : 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
- refactor : 코드 리펙토링
- test : 테스트 코드, 리펙토링 테스트 코드 추가
- chore : 빌드 업무 수정, 패키지 매니저 수정
- Design : CSS등 사용자 UI디자인 변경
- Comment : 필요한 주석 추가 및 변경
- init: 프로젝트 초기 생성
- rename : 파일 혹은 폴더명 수정하거나 옮기는 경우
서브젝트 룰(subject rule)
- 제목은 최대 50글자 넘지 않기
- 마침표 및 특수기호 사용x
- 첫 글자 대문자, 명령문 사용
- 개조식 구문으로 작성(간결하고 요점적으로)
바디 룰(Body rule)
1. 한 줄당 72자 내로 작성
2. 최대한 상세히 작성
3. 어떻게 보다는 '무엇을', '왜' 변경했는지에 대해 작성
꼬리말 룰(Footer Rule)
1. 유형: #이슈 번호 의 형식으로 작성
2. 이슈 트래커 ID를 작성
3. 여러개의 이슈 번호는 ,로 구분
4. 이슈 트래커 유형은 아래와 같다.
Issue Tracker | 설명 |
Fixes: | 이슈 수정중(아직 해결x) |
Resolves: | 이슈를 해결한 경우 |
Ref: | 참조할 이슈가 있을경우 |
Related to: | 해당 커밋에 관련된 이슈 번호 |
여러 사람들이 템플릿을 적용시켜서 $git commit 시 참조를 하는것으로 보인다.
오늘은 컨벤션이 어떤것인지, 그 규칙은 보통 어떻게 되어있는지만 확인하고 마무리 하려고한다.
예시
'프로그래밍 > git' 카테고리의 다른 글
gitignore을 사용하는 이유와 방법 (0) | 2023.05.30 |
---|---|
[Mac] git, sourcetree 이용 Push,Pull 수행 및 오류 해결 방법 (0) | 2023.05.30 |
프로젝트 관리를 위한 git & 편의를 위한 sourcetree (0) | 2023.05.30 |