[Git] Git Commit Message Convention
그동안 커밋메세지를 작성할 때 convention을 따르지 않고 작성했었는데 최근 포폴 첨삭을 받으며 호되게 깨졌다..
convention을 따르는 연습을 하며 익숙해질 필요성이 느껴 작성하게 되었다.
1. Commit Message Convention
- Git에서 커밋 메세지를 작성할 때 convention에 맞춰 작성하면 다른 개발자와 협업할 때 용이하다.
타입(type) : 제목(subject)
본문(body)
푸터(footer)
(1) 타입 (type)
- feat : 새로운 기능 추가
- fix : 버그 수정 또는 typo
- refactor : 코드 리팩토링
- docs : 문서(readme) 관련 수정
- style : 코드 포맷팅 / 세미콜론 / 코드 변경이 없는 경우
- test : 테스트 코드 삽입 및 수정
- chore : 빌드 / 패키지 매니저 수정 사항
(2) 제목 (subject)
- 제목은 가능한 간결하게 50자 이내로 작성한다
- 제목의 시작은 대문자로
- 제목은 동사로 시작한다.
- 제목에 마침표는 사용하지 않는다.
(3) 본문 (body)
- 본문은 한 줄 당 72자 내로 작성
- 본문은 상세히 적는다
- 본문은 what 과 why에 해당하는 내용을 작성한다.
- 본문은 생략가능
(4) 푸터 (footer)
- 푸터는 이슈 트래킹을 위해 작성
- 푸터는 생략가능
2. Commit Template
매번 commit 할 때마다 이런 내용을 찾아볼 수는 없으니 템플릿을 통해 빠르고 동일한 커밋 메세지를 작성할 수 있다.
1. '.git' 이 있는 폴더 위치로 이동
- 숨김처리되어있는 폴더라 안보일 수 있음. -> ls -al로 확인
2. '.gitmessage.txt' 파일 생성
- touch 로 파일을 생성한다.
touch .gitmessage.txt
3. .gitmessage.txt 파일 수정하기
- 앞서 만들었던 txt 파일에 템플릿을 추가하면 된다.
- vi 에디터로 추가해도 되고, vscode나 다른 IDE를 활용해 간단하게 붙여넣기로 추가할 수 있다.
################
# <타입> : <제목> 의 형식으로 제목을 아래 공백줄에 작성
# 제목은 50자 이내 / 변경사항이 "무엇"인지 명확히 작성 / 끝에 마침표 금지
# 예) feat : 로그인 기능 추가 # 바로 아래 공백은 지우지 마세요 (제목과 본문의 분리를 위함)
################
# 본문(구체적인 내용)을 아랫줄에 작성
# 여러 줄의 메시지를 작성할 땐 "-"로 구분 (한 줄은 72자 이내)
################
# 꼬릿말(footer)을 아랫줄에 작성 (현재 커밋과 관련된 이슈 번호 추가 등)
# 예) Close #7
################
# feat : 새로운 기능 추가
# fix : 버그 수정
# docs : 문서 수정
# test : 테스트 코드 추가
# refact : 코드 리팩토링
# style : 코드 의미에 영향을 주지 않는 변경사항
# chore : 빌드 부분 혹은 패키지 매니저 수정사항
################
1. vi .gitmessage.txt
2. i 누르고 붙여넣기
3. esc -> :wq!
4. 제대로 잘 저장이 되었는지 확인하기
cat .gitmessage.txt
5. 생성한 템플릿을 git 전체 커밋 템플릿으로 설정하기
- 띄어쓰기 유의하기
git config --global commit.template .gitmessage.txt
+) 어디서든 commit template을 불러오고 싶으면 아래와 같이 .gitmessage.txt 파일의 전체 경로를 적어줘야한다.
git config --global commit.template /User/Documents/PythonProjects/.gitmessage.txt
+) 한 디렉토리 내에서만 사용할 commit template이라면 --global 옵션을 빼면 된다.
git config commit.template .gitmessage.txt
6. 생성한 템플릿 사용해보기
- git commit 만 쓰면 알아서 템플릿이 등장한다.
- vi 에디터 썼던 방식 그대로 템플릿을 수정하면 된다.
i 눌러서 수정상태로 변경 -> 템플릿에 맞춰 메세지 작성 -> esc -> :wq!
git commit
- 작성이 완료되면 아래와 같이 커밋이 완료되었음을 알 수 있다.
- 마지막 push 까지하면 끝!
- 위에 작성했던대로 commit 타입, 제목, 본문이 잘 작성된 것을 볼 수 있다.
해당 글은 아래 블로그를 참고해 작성했습니다.