[Git] 커밋 메시지 템플릿 만들기
Local에서 작성한 코드를 원격 저장소에 올리기 위해서
일반 적으로 add -> commit -> push의 과정을 거친다.
commit을 하는 과정에서 commit 메세지를 작성하게 되는데
이 때 commit 템플릿을 사용하면 commit을 할 때 자동으로 commit의 틀이 주어진다.
이를 통해서 프로젝트에 일관적인 커밋 메시지를 작성하도록 돕는다.
프로젝트에 commit템플릿을 적용하는 방법을 알아보자.
작성자는 프로젝트마다 다른 커밋 메시지 템플릿을 사용하고 싶기 때문에
이를 기준으로 작성하겠다.
1. 커밋 메시지 템플릿을 적용할 범위 정하기
커밋 메시지 템플릿을 적용할 범위를 설정할 수 있다.
일반적으로 기본 값은 local이다.
system, global, local의 값을 가질 수 있는데 각 값에 대한 설명은 아래와 같다.
system : 시스템에 있는 모든 사용자와 모든 저장소에 적용
global : 해당 사용자의 모든 프로젝트에 적용
local : 현재 작업 중인 프로젝트에만 적용
작성자는 하나의 프로젝트에만 적용할 것이기 때문에 local로 적용할 것이다.
2. 프로젝트 폴더에 .gitmessage.txt 파일 생성 후 템플릿 작성
.gitmessage.txt의 생성 위치는 템플릿 적용 범위에 따라 다르다.
global이면 사용자의 HOME 디렉토리에 파일을 생성하고
local이면 적용할 프로젝트, 즉 프로젝트의 .git 디렉토리가 있는 위치에 생성하면 된다.
그리고 이 파일 안에 커밋 메시지의 템플릿을 작성하면 되는데,
작성자는 아래의 템플릿을 사용했다.
################ # <타입> : <제목> 의 형식으로 제목을 아래 공백줄에 작성 # 제목은 50자 이내 / 변경사항이 "무엇"인지 명확히 작성 / 끝에 마침표 금지 # 예) FEAT: 로그인 기능 추가 # 바로 아래 공백은 지우지 마세요 (제목과 본문의 분리를 위함) ################ # 본문(구체적인 내용)을 아랫줄에 작성 # 여러 줄의 메시지를 작성할 땐 "-"로 구분 (한 줄은 72자 이내) ################ # 꼬릿말(footer)을 아랫줄에 작성 (현재 커밋과 관련된 이슈 번호 추가 등) # 예) Close #7 ################ # FEAT: 새로운 기능 추가 # FIX: 버그 수정 # DOCS: 문서 수정 # STYLE: 스타일 관련 기능(코드 포맷팅, 세미콜론 누락, 코드 자체의 변경이 없는 경우) # REFACTOR: 코드 리팩토링 # TEST: 테스트 코드 추가 # CHORE: 빌드 업무 수정, 패키지 매니저 수정(ex .gitignore 수정 같은 경우) ################ |
3. 커밋 메시지 템플릿 적용하기
git config --local commit.template .gitmessage.txt
명령어를 사용하면 되는데,
만약 global로 적용하고 싶다면 '--local'부분을 '--global'으로 바꿔주면 된다.
--local은 기본값이기 때문에 생략이 가능하다.
4. 커밋(Commit)하기
수정한 파일들을 add한 후 git commit 명령어를 입력하면
vi 에디터에 입력한 템플릿이 출력된다.
여기서 i키를 눌러서 편집모드로 바꾼 후
템플릿을 수정하면 된다.
#은 주석처리가 되어 반영되지 않기 때문에 신경쓰지 않아도 된다.
커밋 템플릿 수정 후 ESC를 누른 후 :wq를 입력하면 커밋이 완료된다.
5. 깃 push하기
깃을 원격저장소에 올리기 위해서 push를 하면
아래와 같이 원격 저장소에 적용된다.