Git

Git - Commit template 작성과 설정

Cold Bean 2022. 12. 17. 16:48
728x90

팀원들과 함께 논의해서 Commit message convention을 정리했다. 이제 터미널에서 커밋 시 참고할 수 있는 템플릿을 만들어 보자

 

1. git message 파일 생성

  • .gitmessage 파일을 생성합니다.
$ touch ~/.gitmessage.txt

2. Commit template 작성

  • editor를 사용해서 .gitmessage 파일에 Commit template를 작성합니다. (필자는 vim을 사용했다.)
$ vim ~/.gitmessage.txt
# Title Message
# <type>(<scope>) - [#issueNumber-]: <subject>
# ex) feat - #123: 로그인 기능 추가
##### Subject 50 characters ################# -> |

# 한 줄 공백. subject과 body 구분

# Body Message (Optional) 
######## Body 72 characters ####################################### -> |

# Footer (Optional) 
# <type>: [#issueNumber-] 
# ex) Resolves: #123

# --- COMMIT END ---
# Title type can be
#   feat    : 새로운 기능 추가 
#   fix     : 버그 수정
#  design   : CSS등 사용자 UI 디자인 변경 
#  refactor : 코드 리팩토링 
#  comment  : 주석 추가 및 수정
#  security : 보안 취약점 해결 및 관련 변경 사항
#   docs    : 문서 수정
#   test    : 테스트 추가, 테스트 리팩토링
#   chore   : 빌드 프로세스 수정 및 환경 설정 파일 변경
#  rename   : 파일 혹은 폴더명을 수정하거나 옮기는 작업만 하는 경우
#  remove   : 파일을 삭제하는 작업만 수행한 경우
#  revert   : 이전 커밋으로 되돌리는 작업
# -------------------------------------
# Footer type can be
#  Resolves : 이슈를 해결했을 때 사용(해당 이슈 닫음) 
#    Ref    : 참고할 이슈가 있을 때 사용
# Related to: 해당 커밋에 관련된 이슈 번호
# -------------------------------------
# Remember me ~
# subject는 어떤 작업을 했는지 명확하게 드러나야하고, 요약하여 작성합니다.
# subject는 명령조로 작성하며, 문장보다는 구문으로 작성합니다.
# 영문으로 작성할 경우 첫글자는 대문자로 시작합니다.
# 줄 끝에 마침표를 사용하지 않습니다.
# subject와 body 사이에 한 줄 띄어  구분합니다. 	
# body는 부연 설명이 필요한 경우 작성합니다. 선택사항입니다.
# body에서 어떻게 했는지가 아니라, 무엇을 왜 했는지를 작성합니다.
# body에 목록을 나타낼 때는 "-"로 시작합니다.
# footer는 이슈 번호를 참조시킬 때 주로 사용합니다. 선택사항입니다.

3. 템플릿 지정

  • 작성한 .gitmessage 파일을 템플릿으로 지정합니다. commit.template에 설정하면 git commit 명령이 실행되는 편집기에 해당 템플릿을 기본으로 넣어줍니다. 
$ git config --global commit.template ~/.gitmessage.txt

4. editor 설정

  • editor를 설정합니다. 아무것도 설정하지 않으면 vi을 기본 에디터로 사용합니다. 
git config --global core.editor [사용할 editor]
# vim을 기본 에디터로 설정
git config --global core.editor vim 

# vscode를 기본 에디터로 설정
git config --global core.editor code --wait

5. git 전역 설정이 잘 되었는지 확인

  • 다음 명령어를 실행하여 기본 편집기가 잘 설정되었는지 확인할 수 있습니다.
git config --global -e
[user]
        name = coldbean
        email = gksmfcksqls@gmail.com
[core]
        editor = vim	# vim이 기본 에디터로 설정되어있는 것을 확인할 수 있습니다.
        autocrlf = input
[filter "lfs"]
        process = git-lfs filter-process
        required = true
        clean = git-lfs clean -- %f
        smudge = git-lfs smudge -- %f
[commit]
        template = /Users/happy_bin/.gitmessage.txt # 작성한 .gitmessage파일이 템플릿 설정되어 있습니다.
[color]
        ui = auto

6. 잘 실행되는지 확인 해보자!

  • 커밋을 날려보자
git commit -a

아주 잘 나온다!

참고

https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration

 

Git - Git Configuration

8.1 Customizing Git - Git Configuration So far, we’ve covered the basics of how Git works and how to use it, and we’ve introduced a number of tools that Git provides to help you use it easily and efficiently. In this chapter, we’ll see how you can ma

git-scm.com

728x90