06. 커밋메시지-템플릿-제작

Git(깃, 버전 관리 시스템)에서 커밋(Commit, 저장소에 변경 사항을 기록하는 작업) 메시지는 프로젝트의 변경 이력을 관리하고 협업을 원활하게 유지하는 핵심 요소이다. 일관된 형식 없이 커밋 메시지를 자유롭게 작성하면 이후 특정 변경 사항의 원인을 추적하거나 검토하기 어렵다. 커밋 메시지 템플릿(Template, 미리 정의된 서식)을 설정하면 커밋을 수행할 때마다 정해진 구조와 작성 지침이 편집기에 자동으로 표시된다. 이 글에서는 템플릿 파일 생성부터 전역 설정 등록, 실제 커밋 작성 시의 활용 방법까지 설명한다.

1. 메시지 템플릿 파일생성

커밋 메시지의 기본 서식으로 사용할 텍스트 파일을 프로젝트 디렉터리 내에 생성한다. 파일 이름은 관례적으로 .gitmessage.txt를 사용한다.

.git 이 있는 폴더와 동위에 .gitmessage.txt 생성

아래 화면과 같이 프로젝트의 최상위 경로에 위치한 .git 디렉터리와 동일한 위치에 .gitmessage.txt 파일이 존재해야 한다. 하위 폴더에 생성하면 깃 명령어가 템플릿 파일의 상대 경로를 찾지 못할 수 있으므로 위치를 확인한다.

2. 템플릿 설정

아래의 코드를 .gitmessage.txt 파일에 붙여넣는다.

################
# <타입> : <제목> 의 형식으로 제목을 아래 공백줄에 작성
# 제목은 50자 이내 / 변경사항이 "무엇"인지 명확히 작성 / 끝에 마침표 금지
# 예) feat : 로그인 기능 추가

# 바로 아래 공백은 지우지 마세요 (제목과 본문의 분리를 위함)

################
# 본문(구체적인 내용)을 아랫줄에 작성
# 여러 줄의 메시지를 작성할 땐 "-"로 구분 (한 줄은 72자 이내)

################
# 꼬릿말(footer)을 아랫줄에 작성 (현재 커밋과 관련된 이슈 번호 추가 등)
# 예) Close #7

################
# feat : 새로운 기능 추가
# fix : 버그 수정
# docs : 문서 수정
# test : 테스트 코드 추가
# refact : 코드 리팩토링
# style : 코드 의미에 영향을 주지 않는 변경사항
# chore : 빌드 부분 혹은 패키지 매니저 수정사항
################

템플릿 파일에서 샵(#) 기호로 시작하는 줄은 주석으로 처리되어 실제 커밋 기록에 반영되지 않고 편집기 안내문으로만 기능한다. 템플릿은 크게 세 가지 영역으로 구성된다.

  • 제목(Title): 변경 사항의 핵심을 요약하여 50자 이내로 작성한다. 마침표를 찍지 않으며 타입 : 제목 형식을 유지한다.
  • 본문(Body): 제목 아래의 빈 줄을 유지한 상태에서 구체적인 변경 사유와 내용을 상세히 기록한다. 목록 형태로 작성할 때는 대시(-) 기호를 사용한다.
  • 바닥글(Footer): 이슈 번호 참조나 해결 여부(예: Close #7)를 기록한다.
  • 타입 목록: feat(기능 추가), fix(버그 수정), docs(문서 수정), refact(코드 리팩토링) 등 자주 사용하는 키워드를 주석으로 제공하여 작성 시 혼동을 줄인다.

위 화면은 편집기에서 .gitmessage.txt 파일에 템플릿 서식을 입력하고 저장을 완료한 상태를 보여준다.

터미널 창에 아래의 명령어를 입력하여 템플릿을 등록한다.

git config --global commit.template .gitmessage.txt

git config 명령어는 깃의 동작 환경을 설정한다. --global 옵션을 지정하면 현재 시스템 사용자의 전역 설정으로 적용되어 모든 깃 저장소에서 해당 템플릿을 공유한다. commit.template 설정값에 템플릿 파일의 경로를 지정하면 커밋 실행 시 자동으로 이 서식이 불러와진다.

3. 사용

템플릿 등록이 완료되면 -m 옵션 없이 커밋 명령어를 실행하여 편집기를 호출한다. 기본 편집기로 연결되어 템플릿 서식이 화면에 나타난다.

  1. git add .
  2. git commit 엔터 입력
  3. i 를 눌러 메시지 입력
  4. esc 키를 눌러 메시지 입력 완료
  5. :wq 를 입력하면 템플릿 편집에서 나오고 commit 완료됨

단계별 세부 동작은 다음과 같다.

  • 1단계 (git add .): 변경된 파일들을 스테이징(Staging, 커밋 대기 상태로 등록) 영역에 추가한다.
  • 2단계 (git commit): 인라인 메시지 옵션 없이 실행하여 템플릿이 포함된 텍스트 편집기(기본값: Vim)를 연다.
  • 3단계 (i 입력): 텍스트 편집기가 명령 모드로 열리므로, i를 눌러 입력(Insert) 모드로 전환한 뒤 주석 영역을 참고하여 제목과 본문을 작성한다.
  • 4단계 (esc 입력): 메시지 작성을 마친 후 Esc 키를 눌러 입력 모드를 빠져나와 명령 모드로 복귀한다.
  • 5단계 (:wq 입력): 저장(Write) 후 종료(Quit) 명령어를 실행하여 커밋을 완료한다. 저장을 취소하고 커밋을 중단하려면 :q!를 입력한다.

댓글 남기기