Study/Git

[Git] Git Commit Message Convention

growingtree 2023. 3. 8. 00:23

그동안 커밋메세지를 작성할 때 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 타입, 제목, 본문이 잘 작성된 것을 볼 수 있다. 

 

 

 


해당 글은 아래 블로그를 참고해 작성했습니다.

 

https://velog.io/@bky373/Git-%EC%BB%A4%EB%B0%8B-%EB%A9%94%EC%8B%9C%EC%A7%80-%ED%85%9C%ED%94%8C%EB%A6%BF

 

[Git] 커밋 메시지 템플릿 설정하기

Git은 내장된 기본 규칙 따르지만, 설정된 것이 있으면 그에 따른다. Git은 먼저 /etc/gitconfig 파일을 찾는다. 이 파일은 해당 시스템에 있는 모든 사용자와 모든 저장소에 적용되는 설정 파일이다.gi

velog.io

 

https://determination.tistory.com/entry/%EA%B9%83-%EC%BB%A4%EB%B0%8B-%EB%A9%94%EC%8B%9C%EC%A7%80-%EC%BB%A8%EB%B2%A4%EC%85%98Git-Commit-Message-Convention

 

깃 커밋 메시지 컨벤션(Git Commit Message Convention)

개인적으로 공부하면서 몇 개의 정말 소소한.. 작고 소중한.. 개인 프로젝트를 진행했었는데 이러한 프로젝트는 모두 '깃으로 형상관리를 해야지~~'라는 원대한 목표화 함께 깃허브에 업로드해

determination.tistory.com

 

반응형