티스토리 뷰

발생일: 2016.09.06

키워드: githook, 깃훅, 이슈 번호, issue number, 이슈 넘버

문제:
우리 프로젝트에선 이슈 관리는 Github에서 하기로 했고, 각 피처 브랜치는 이슈 번호로 시작해 이름 짓기로 했다.
커밋 메세지엔 [이슈번호]를 말머리에 붙이기로 했다.

예를 들어, 담당한 태스트의 이슈 번호가 123이면, `feature/123-do-something`처럼 이름 짓고,
커밋 메시지는 `[123] blah blah`처럼 작성하기로 했다.

근데 커밋 메시지에 매번 이슈 번호를 넣으려니 번거롭다.
깃훅으로 자동화해보자.


해결책:

prepare-commit-msg 훅을 사용했다.
아래는 코드 전문이다.

#!/bin/bash

# 브랜치가 이슈 넘버(123- 나 123_ 형태)로 시작하는 경우, 커밋 메시지에 이슈 번호를 바로 넣어준다.
branch_name=$(git symbolic-ref --short HEAD)

# $1은 커밋 메시지가 담긴 파일
# 소스트리에서 작성하거나 `-m` 옵션을 커밋한 경우에는 메시지가 담겨있다.
orig_msg=`cat $1`
issue_number=$(echo $branch_name | sed -n 's/^[a-z]*\/\([0-9]*\)[-_].*$/\1/p')
issue_number_in_msg=$(grep -c "\[#$issue_number\]" $1)

if [[ -n $issue_number ]] && [[ ! $issue_number_in_msg -ge 1 ]]; then
    echo "[#$issue_number] $orig_msg" > $1
fi




반응형
댓글
공지사항