2020-09-14
🏆 좋은 깃 커밋 메시지 작성하기.
How to write a Git commit message.
좋은 git 커밋 메시지를 작성하기 위한 8가지 약속 글을 읽고 정리한 내용.
좋은 커밋을 위한 8가지 약속.
명령조
로.어떻게
보다 무엇을
, 왜
에 맞춰 작성하기.그동안 커밋 메시지는 한 줄로만 간단하게 기록했다.
$ git commit -m"[Add]commit message"
그런데 한 줄로 기록하면 어떤 작업을 했는지 자세히 쓰기 어렵고 나중에 찾기도 어렵다는 것을 알았다.
글에서 제시하는 좋은 커밋의 목적은 다음과 같다.
커밋 메시지를 작성할 때는 기승전결(제목, 본문, 꼬리말)을 고려하고 나와 타인이 쉽게 이해하고 검색하기 좋도록 간결하고 명확하게 작성하자.
커밋 메시지 템플릿을 만들어 좋은 커밋을 만들 수 있는 습관을 기르자.
$ touch ~/.gitmessage.txt
$ vi ~/.gitmessage.txt
검색으로 다른 분들이 만든 내용을 참조하여 커스텀 템플릿을 만들었다.
커스텀 템플릿을 입력하고 저장한다.
# --- 제목(title) - 50자 이내로 ---
# <타입(type)> <제목(title)>
# 예시(ex) : Docs(Add) Commit docs Add
# --- 본문(content) - 72자마다 줄바꾸기 ---
# 예시(ex) :
# - Workflow
# 1. 커밋 메시지에 대한 문서 제작 추가.
# 2. commit message docs add.
# --- 꼬리말(footer) ---
# <타입(type)> <이슈 번호(issue number)>
# 예시(ex) : Fix #122
# --- COMMIT END ---
# <타입> 리스트
# init : 초기화
# add : 기능 추가
# update : 기능 보완 (업그레이드)
# fix : 버그 수정
# refactor: 리팩토링
# style : 스타일 (코드 형식, 세미콜론 추가: 비즈니스 로직에 변경 없음)
# docs : 문서 (문서 추가(Add), 수정, 삭제)
# test : 테스트 (테스트 코드 추가, 수정, 삭제: 비즈니스 로직에 변경 없음)
# chore : 기타 변경사항 (빌드 스크립트 수정 등)
# ------------------
# 제목 첫 글자를 대문자로
# 제목은 명령문으로
# 제목 끝에 마침표(.) 금지
# 제목과 본문을 한 줄 띄워 분리하기
# 본문은 "어떻게" 보다 "무엇을", "왜"를 설명한다.
# 본문에 여러 줄의 메시지를 작성할 땐 "-" 혹은 "번호"로 구분
# ------------------
그리고 커밋 템플릿을 추가하는 작업을 해준다.
$ git config --global commit.template ~/.gitmessage.txt
이렇게 작업하면 앞으로 git commit
으로 입력할 때 자동으로 템플릿이 나타난다.
또한 템플릿의 주석은 실제 커밋시 포함이 되지 않는다.
👋