좋은 git commit 메시지 작성하기
git에서 commit할 때 작성하는 메시지를 레벨업 시켜보자.
git commit message는 쉘 프롬프트에서 아래와 같이 입력하면 된다.
1. 좋은 커밋을 위한 8가지 약속.
- 제목과 본문을 한 줄 띄워 분리하기.
- 제목은 영문 기준 50자 이내로.
- 제목 첫글자를 대문자로.
- 제목 끝에
.
금지. - 제목은 명령조로.
- Github - 제목(이나 본문)에 이슈 번호 붙이기.
- 본문은 영문 기준 72자마다 줄 바꾸기.
- 본문은 어떻게보다 무엇을, 왜에 맞춰 작성하기.
2. 좋은 커밋의 목적
- 더 좋은 커밋 로그 가독성.
- 더 나은 협업과 리뷰 프로세스.
- 더 쉬운 코드 유지보수.
- 커밋 메시지를 작성할 때는 기승전결(제목, 본문, 꼬리말)을 고려하고 나와 타인이 쉽게 이해하고 검색하기 좋도록 간결하고 명확하게 작성.
3. 커밋 메시지 구조
Title 제목
Title은 Type
과 Subject
로 나뉜다.
Type
은 아래 중 하나를 목적에 맞게 쓴다.
init
: 초기화feat
: 새로운 기능 추가update
: 기능 보완 (업그레이드)remove
: 코드나 파일 제거fix
: 버그 수정config
: 설정 관련 파일 작성 또는 변경build
: 빌드 관련 파일 수정ci
: CI관련 설정 수정docs
: 문서 (문서 추가, 수정, 삭제)style
: 스타일 (코드 형식, 세미콜론 추가: 코드 로직에 변경 없는 경우)refactor
: 코드 리팩토링test
: 테스트 (테스트 코드 추가, 수정, 삭제: 코드 로직에 변경 없는 경우)chore
: 기타 변경사항 (스크립트 수정 등)
Subject
는 아래 규칙을 지켜 통일감을 유지한다.
- 제목은 50자 이하
- 제목 첫 글자는 대문자
- 제목은 명령문
- 제목 끝에 마침표(.) 금지
- 제목과 본문을 한 줄 띄워 분리
- 제목이나 본문에 이슈 번호(가 있다면) 붙임
Content 본문
- 쓸지 말지는 선택 사항
- 최소 20자 필수 입력
- 한 줄에 72자 이하
- 어떻게(How)보다 무엇을, 왜(What, Why)에 맞춰 작성
Footer 꼬리말
- 쓸지 말지는 선택 사항
-
Issue tracker ID를 작성할 때 사용
Resolve
: 이슈 해결See also
: 참고할 이슈
github 이슈 자동 종료 팁
Github는 commit 메세지를 작성할 때 예약된 키워드를 사용하면 이슈가 자동으로 종료되는 기능을 탑재하고 있다. 예약어는 commit 메세지 어느 위치에서나 사용 가능합니다.
예시
사용되는 키워드
close
closes
closed
fix
fixes
fixed
resolve
resolves
resolved
close 계열은 일반 개발 이슈, fix 계열은 버그 수정 이나 hot-fix 이슈, resolve 계열은 문의나 요청 사항에 대응한 이슈에 사용하면 적당하다.
4. Commit message template 만들기
Commit message template을 적용할 git 프로젝트 폴더로 이동한 다음, .gitmessage.txt
파일을 생성한다.
커스텀 템플릿 파일을 아래와 같이 작성했다.
작성을 했으면 git 설정에 템플릿 파일을 추가한다.
이렇게 작업하면 앞으로 git commit
으로 입력할 때 자동으로 템플릿이 나타난다.
또한 템플릿의 주석(#)은 실제 커밋시 포함이 되지 않는다.
댓글남기기