새로운 개인 프로젝트를 시작하면서, 이전 프로젝트들에서의 Git 커밋 메시지 작성 습관을 되돌아보게 되었다. 그동안은 기능을 구현할 때마다 메시지를 간단하게 "xx 기능 구현 완료"라고 작성하거나, 때로는 아예 커밋 메시지를 생략하기도 했다.
이러한 방식은 처음에는 편하게 느껴졌지만, 나중에 해당 코드를 수정하거나 회귀할 때 큰 불편함이 있었다. 과거의 커밋 메시지를 확인해봐도 어떤 작업을 했는지 명확하게 파악하기 어려워 결국 코드를 다시 처음부터 읽고, 그때의 의도를 기억해내려 애써야 했기 때문이다.
그래서 이번에는 커밋 메시지를 좀 더 체계적으로 관리하기로 마음먹었다. 잘 정리된 블로그 글을 참고하면서, Git 커밋 메시지 템플릿을 활용해 커밋 기록을 명확하고 일관성 있게 남기려 한다.
커밋 메세지의 구조는 공식 가이드라은 없지만 기본적으로 Subject, Body, Footer세 부분으로 나뉘며, 각 부분을 한 줄의 공백으로 구분한다.
type : Subject
body
footer
| 타입 | 설명 |
|---|---|
ADD | 새로운 코드나 파일을 추가할 때 사용 |
MODIFY | 기존 기능의 일부를 수정할 때 사용 |
FIX | 버그를 수정했을 때 사용 |
DOCS | README, 주석 등 문서 관련 수정 시 사용 |
REMOVE | 코드나 파일을 삭제할 때 사용 |
IMPLEMENT | 무언가의 전체 동작을 구현했을 때 사용. ADD보다 큰 기능 단위에 사용 |
TEST | 테스트 코드 추가 및 수정 시 사용 |
RENAME | 파일명 변경, 변수명, 함수명 등 이름만 변경했을 때 사용 |
MOVE | 코드나 파일을 디렉토리 간 이동했을 때 사용 |
CHORE | 빌드 설정, 패키지 매니저 설정 등 기타 잡다한 작업에 사용 |
# type: Subject
# 본문
# ----------------------------------------
# Type 종류
# ----------------------------------------
# ADD : 새로운 코드나 파일 추가
# MODIFY : 기존 기능 수정
# FIX : 버그 수정
# DOCS : 문서(주석, README 등) 수정
# REMOVE : 코드나 파일 삭제
# IMPLEMENT : 무언가의 전체 동작을 "구현"했을 때 사용 (ADD보다 큰 단위)
# TEST : 테스트 코드 추가 및 수정
# RENAME : 파일명, 변수명, 함수명 등의 이름 변경
# MOVE : 코드나 파일 이동
# CHORE : 빌드/패키지 매니저 설정 등 기타 작업
# ----------------------------------------
# 제목(Subject) 작성 규칙
# ----------------------------------------
# - 제목 작성 후 반드시 한 줄 띄워서 본문과 구분
# - 제목은 대문자로 시작, 마침표는 쓰지 않음
# - 제목은 명령문으로 작성
# ----------------------------------------
# 본문(Body) 작성 규칙
# ----------------------------------------
# - 본문 작성 후 한 줄 띄워서 Resolves 영역과 구분
# - 각 행은 72자 이내로 작성
# - "무엇을", "왜" 했는지를 중심으로 작성
# - 본문은 여러 줄로 구성 가능
ntelliJ - File - Settings - Plugin에 가서
commit message template을 사용하여 적용하였다.

위 플러그인은 설치후 적용 결과 한글이 깨지는 현상이 생겻다..

상단 가장 우측 Help - Edit Custom VM Options 에서 -Dfile.encoding=UTF-8을 추가해서 해결 완료
