Git 으로 버전관리 하다 보면 많은 feature 브랜치를 생성하게 되는데, pr 후 머지를 한다던지, 릴리즈를 하게 되면 해당 브랜치를 보통 삭제를 하게 된다.

삭제하고 나면 나중에 커밋 메시지로 어느 브랜치인지 알수 없고, 한눈에 들어오지 않기 때문에 커밋 메시지에 자동으로 브랜치명을 추가하는 방법을 알아보도록 하자.

 

아무 repository 나 접근해서 cd .git/hooks 해보면 다음과 같다.

.git/hooks

.sample 확장자로 되어 있는 파일이 있는데, 이것들이 Git 에서 지원하는 Hook 입니다.

 

커밋 메시지에 자동으로 브랜치명을 추가할 것이니까 prepare-commit-msg 파일을 만들어야 한다.

(.sample 확장자를 제거해 주면 된다.)

 

1. prepare-commit-msg 파일을 아래와 같이 만들고 저장한다.

#!/bin/sh
# 
# Automatically adds branch name and branch description to every commit message.
#
NAME=$(git branch | grep '*' | sed 's/* //')
DESCRIPTION=$(git config branch."$NAME".description)

echo "[$NAME]" | cat - "$1" > /tmp/out && mv /tmp/out "$1"
if [ -n "$DESCRIPTION" ]
then
   echo "" >> "$1"
   echo $DESCRIPTION >> "$1"
fi

 

2. 권한을 부여한다.

(혹시나 파일을 새로 생성하였다면)

sudo chmod 755 prepare-commit-msg

 

3. 자~ 이제 커밋을 해보자!

커밋 메시지에 브랜치명이 보입니다^^

반응형
댓글