프로그래밍/git

Git commit 메세지 컨벤션

gameObject 2023. 5. 30. 18:57
728x90

커밋 메세지 컨벤션이란?

코드 변경 사항을 요약하여 전달하는 역할을 한다.

프로젝트 참여자들이 일관된 형식의 메세지를 작성하기 위한 규칙이다.

관습적으로 통용되는 가이드라인이 있지만, 각 프로젝트에 따라서 별도의 규칙을 만들어서 적용하기도 한다.

 

중요성

프로젝트 관리와 협업에 있어서 중요한 부분이다.

정해진 규칙이 있음에 따라 개발자들 서로의 작업을 이해하고 효율적으로 대처할 수 있는 프로젝트 환경을 만들 수 있다.

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 시 참조를 하는것으로 보인다.

 

오늘은 컨벤션이 어떤것인지, 그 규칙은 보통 어떻게 되어있는지만 확인하고 마무리 하려고한다.

 

예시

 

728x90