Search
Duplicate

git 커밋 컨벤션 설정하기

태그
Git

git 커밋 컨벤션 설정하기

다른 사람과 협업을 할 때, 어떻게 하면 더 쉽게 통일성과 체계적인 일처리를 위해 커밋 컨벤션을 정리할 수 있을까?
유다시티의 커밋 메시지 스타일 가이드를 참조한 내용!

1. Commit 메시지 구조

기본적인 커밋 메시지 구조는 제목 , 본문 , 꼬리말 세가지 파트로 나누고, 각 파트는 빈 줄을 두어 구분한다.
type : subject body fotter
Plain Text
복사

2. Commit Type

타입은 태그와 제목으로 구성되고, 태그는 영어로 쓰되, 첫 문자는 대문자로 한다.
태그 : 제목 의 형태이며, : 뒤에만 space가 있음에 유의한다.
feat : 새로운 기능 추가
fix : 버그 수정
docs : 문서 수정
style : 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
refactor : 코드 리팩토링
test: 테스트 코드, 리팩토링 테스트 코드 추가
chore : 빌드 업무 수정, 패키지 매니저 수정

3. Subject

제목은 최대 50 글자가 넘지 않도록 하고, 마침표 및 특수 기호는 사용하지 않는다.
영문으로 표기하는 경우, 동사(원형)을 가장 앞에 두고, 첫 글자는 대문자로 표기한다 (과거 시제를 사용하지 않는다).
제목은 개조식 구문으로 작성한다 —> 완전한 서술형 문장이 아니라, 간결하고 요점적인 서술을 의미
* Fixed --> Fix * Added --> Add * Modified --> Modify
Plain Text
복사

4. Body

본문은 다음의 규칙을 지킨다
본문은 한 줄 당 72자 내로 작성한다.
본문 내용은 양에 구애받지 않고, 최대한 상세히 작성한다.
본문 내용은 어떻게 변경했는지 보다 무엇을 변경했는지 또는 왜 변경했는지를 설명한다.

5. footer

꼬릿말은 다음의 규칙을 지킨다
꼬리말은 optional 이고, 이슈 트래커 ID 를 작성한다.
꼬리말은 "유형: #이슈 번호" 형식으로 사용한다.
여러 개의 이슈 번호를 적을 때는, 쉼표( , ) 로 구분한다.
이슈 트래커 유형은 다음 중 하나를 사용한다.
Fixes : 이슈 수정 중 (아직 해결되지 않은 경우)
Resolves : 이슈를 해결했을 때 사용
Ref : 참고할 이슈가 있을 때 사용
Related to : 해당 커밋에 관련된 이슈 번호 (아직 해결되지 않은 경우)
ex) Fixes: #45 Related to: #34, #23

6. Commit 예시

Feat: "회원 가입 기능 구현" SMS, 이메일 중복확인 API 개발 Resulves: #123 Ref: #456 Related to: #48, #45
Plain Text
복사

7. Commit Message Emogi

자주 쓰이는 대표적인 몇 가지 일부만 정리하였다.
자세한 부분은 ‘Gitmoji 사용하기’ 여기 설명이 잘 되어 있는 글이 있다.
Emogi
Description
코드의 형식/구조를 개선할 때
새 파일을 만들 때
사소한 코드 또는 언어를 변경할 때
성능을 향상시킬 때
문서를 쓸 때
버그 reporting할 때, @FIXME 주석 태그 삽입
버그를 고칠 때
코드 또는 파일 제거할 때, @CHANGED 주석 태그와 함께
파일 구조를 변경할 때, 와 함꼐 사용
코드를 리팩토링 할 때
UI/style 개선 시
♿️
접근성을 향상시킬 때
WIP (진행중인 작업)에 커밋, @REVIEW 주석 태그와 함께 사용
New Release
버전 태그
새로운 기능을 소개할 때
새로운 아이디어, @IDEA 주석 태그
배포/개발작업 과 관련된 모든 것

ref)