git commit을 신경 쓰지 않고 대충 할때는 전혀 관심이없었는데 어느 순가 git commit의 commit message가 중요하다는 것을 깨달았다.
특히 코드리뷰를 할때 더욱더 그 필요성이 보이게 된다.
2020 우아콘 발표중 일부 내용이다.
이런식으로 commit 로그를 볼때 가독성이 굉장히 떨어진다.
이런식으로 규칙을 정하고 그에 맞게 commit을 하면 가독성이 훨씬 좋아진다.
그리고 commit 내용도 함께 작성해주면 더 좋아진다.
이러한 commit message를 작성하기 위해서 할 수 있는 노력으로 commit message template을 사용하는 것이다.
# <type>: <subject>
##### Subject 50 characters ################# -> |
# Body Message
# 여러 줄의 메시지를 작성할 땐 "-"로 구분 (한 줄은 72자 이내)
######## Body 72 characters ####################################### -> |
# Issue Tracker Number or URL
# --- COMMIT END ---
# Type can be
# feat : new feature
# fix : bug fix
# refactor: refactoring production code
# style : 코드 의미에 영향을 주지 않는 변경사항 (형식 지정, 세미콜론 누락 등)
# docs : 문서의 추가, 수정, 삭제
# test : 테스트 추가, 수정, 삭제
# chore : 기타 변경사항 (빌드 부분 혹은 패키지 매니저 수정사항)
# ------------------
# Remember me ~
# 제목 첫 글자를 대문자로
# Use the imperative mood in the subject line
# 제목 끝에 마침표 금지
# Separate subject from body with a blank line
# 본문은 "어떻게" 보다 "무엇을", "왜" 를 설명한다.
# Can use multiple lines with "-" for bullet points in body
# ------------------
이런식으로 template을 사용할 수 있다.
더 다양한 양식이 있으니 "git commit meassage template"라고 검색하면 다양하게 나온다.
📚 사용 방법
그렇다면 이 template을 어떻게 사용할까?
1. .gitmessage.txt 파일 만들기
내 로컬 즉 commit 할 때마다 사용해주고 싶다면 "~/"를 앞에 붙여서 파일을 생성해주면 된다. (~/는 루트 디렉토리 라는 의미)
$ touch ~/.gitmessage.txt
이번 프로젝트에서만 사용하고 싶다면 ~/을 빼주고 파일을 생성해주면 된다.
$ touch .gitmessage.txt
$ touch : 디렉토리 생성
$ rm : 디렉토리 삭제
2. git commit template 제작
위에서 txt 파일을 만들었으니
$ vim ~/.gitmessage.txt
또는
$ vim .gitmessage.txt
해당 명령어를 통해 접근해서 저장해주면된다.
필자는 루트 저장소에 만들었기때문에 ~/을 붙이고 접근했다.
원하는 템플릿을 복사한후 이곳에 붙여넣어주면 된다.
복사하기전에 수정해서 넣어도 되고 여기서 복사한 뒤 수정하고 싶으면 "i"를 눌른뒤 수정해주면 된다.
수정이나 붙여넣기가 끝났으면 ":" 를 누르고 "wq"를 입력하면 끝난다.
3. git commit template 시스템 설정하기
이제 템플릿 파일도 만들었고 안에 템플릿 형식도 저장했으니 git하고 연결시키면 된다.
$ git config --global commit.template ~/.gitmessage.txt
--global 옵션이 있으면 내 로컬에서 커밋하는 모든 프로젝트에서 동일한 템플릿이 적용되고
없으면 해당하는 특정 프로젝트에서만 템플릿이 적용된다.
위에서 ~/.gitmessage.txt 라고 했다면 --global 옵션을 붙여주면 좋고
~/ 없이 .gitmessage.txt 라고만 했다면 현재 프로젝트에서만 적용되도록 --global 옵션을 제외하면 좋을 것 같다.
이제 git commit 을 입력하면 해당 템플릿이 뜬다.
[참고]
https://kkangsg.tistory.com/95
'git > git' 카테고리의 다른 글
GitHub Action (0) | 2023.09.17 |
---|---|
[Git] git tag (0) | 2023.06.30 |
[Git] git log (0) | 2023.06.29 |