Git Commit Template 가이드
Git Commit Template을 활용하여 일관된 커밋 메시지 작성하기
2024.09.04
10분 소요
글을 시작하며
Git을 사용하여 협업할 때 일관된 커밋 메시지를 유지하는 것은 코드 가독성과 변경 이력을 쉽게 파악하는 데 중요한 역할을 합니다. 하지만 팀원마다 서로 다른 스타일의 커밋 메시지를 작성하면 히스토리 추적이 어려워지고, 코드 리뷰에도 불필요한 시간이 소요됩니다.
따라서 이러한 문제를 해결하기 위한 Git Commit Template에 대해 알아보려 합니다.
Commit Template이란?
커밋 템플릿은 커밋 메시지의 기본 형식을 미리 정의해두는 기능입니다. 팀 내에서 일관된 커밋 메시지 작성을 위한 가이드라인 역할을 합니다.
템플릿 설정 방법
템플릿 파일 생성 및 내용 작성
먼저, 커밋 메시지 템플릿을 루트에 생성합니다. (.gitmessage.txt)
이후 템플릿 파일에 커밋 메시지 작성 규칙을 작성합니다. 아래는 예시 템플릿 파일입니다.
# ================================================================
# type, body, footer는 각각 공백 줄로 한칸씩 띄워작성합니다.
# 1. Type
# type #이슈번호: Subject (공백 작성 시 주의)
# Ex)feat #1: 회원정보 수정 기능 추가
# ================================================================
# 1-1. Subject Type
# feat : 새로운 기능 추가
# fix : 버그 수정
# docs : 문서 수정
# style : 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
# refactor : 코드 리팩토링
# test : 테스트 코드 추가
# chore : 빌드 업무 수정, 패키지 매니저 수정
# design : CSS 등 사용자 UI 디자인 변경
# rename : 파일 혹은 폴더명을 수정하거나 옮기는 작업만인 경우
# remove : 파일을 삭제하는 작업만 수행한 경우
# 1-2. Subject
# 제목은 50자 이내로 작성
# 마침표 및 특수기호 제외
# 제목은 완전한 서술형 문장이 아니라, 간결하고 요점적인 서술을 위해 개조식 구문을 사용
# ================================================================
# 2. Body
# body는 작업 내용이 복잡하거나 상세한 내용을 남겨야 하는 경우에만 작성
# Ex)
# - 이미지 업로드 기능 추가
# - 회원 정보 수정 api 연동
# ================================================================
# 2-1. Body 작성 규칙
# 본문은 72자 이내로 작성
# 제목과 본문은 한 줄 띄워 분리
# 본문은 "어떻게" 보다 "무엇을", "왜"를 설명
# 여러 줄의 메시지를 작성할 땐 "-"로 구분
# ================================================================
# 3. Footer
# 선택 사항으로 코드 작업과 관련된 이슈 번호 또는 참조 링크 등을 추가
# Ex) Fixes: #1 (옵션_여기선 이슈번호에 []를 치면 안됨, 반영할려면 merge 필요)
# ================================================================
# 3-1. Footer(꼬리말) 작성 규칙
# 꼬리말은 optional이며 이슈 트래커 ID를 작성
# 꼬리말은 "유형: #이슈 번호" 형식으로 사용
# 여러 개의 이슈 번호를 적을 때는 쉼표(,)로 구분
# 3-2. 이슈 트래커 유형
# Fixes: 이슈 수정 중(아직 해결되지 않은 경우)
# ================================================================
Git에 템플릿 적용
생성한 템플릿을 Git에 적용하기 위해서 아래 명령어를 실행합니다.
git config --local commit.template .gitmessage.txt
활용 (vim 기준)
- 'git add .'를 통해서 변경사항이 있는 파일을 스테이지에 올린다.
- 'git commit' 을 누르고 엔터를 치면 위의 템플릿이 나온다.
- 키보드에서 'i'를 누르고 수정한 이후에 모든 커밋메세지를 입력한 후, 'esc'를 누르고 빠져나온다.
- ':wq'를 누르고 엔터를 치면 정상적으로 커밋이된다.
결론
커밋 템플릿은 단순한 메시지 형식 통일 이상의 가치가 있습니다. 잘 작성된 커밋 메시지는 코드 리뷰를 용이하게 만들고, 버그 트래킹을 쉽게 만들며, 전체적인 프로젝트의 히스토리를 이해하기 쉽게 만듭니다. 처음에는 템플릿을 따르는 것이 번거로울 수 있지만, 이는 결국 팀 전체의 생산성 향상으로 이어질 것입니다.
이 글에서 소개한 템플릿은 하나의 예시일 뿐이며, 팀원들과의 논의를 통해 가장 적합한 형태를 찾아가는 것이 중요합니다.
지금 바로 커밋 템플릿을 설정하고, 보다 체계적인 Git 이력을 관리해보세요! 🚀