husky를 이용해서 커밋 메세지에 자동으로 이슈 번호를 붙이는 방법에 대해서 알아보겠습니다.
yarn add husky@4
현재는 버전 5까지 나와있습니다. 버전 4와 5는 husky를 설정하는 데 있어서 모두 다릅니다.
버전 5에 대한 document는 여기서 확인하실 수 있습니다.
버전 4에 대한 것은 여기를 보시면 됩니다.
package.json
"husky": {
"hooks": {
"pre-commit": "lint-staged",
"prepare-commit-msg": "./addIssueNumber.sh $HUSKY_GIT_PARAMS"
}
}
커스텀 쉘 파일 => 이슈 번호를 자동으로 붙여줍니다.
이때 가정은 브랜치 이름을 issue#이슈번호
의 포맷으로 생성한다는 것입니다.
// ./addIssueNumber.sh
COMMIT_MSG_FILE=$1
branch_name=`git rev-parse --abbrev-ref HEAD`
issue_number=`echo ${branch_name} | cut -d '#' -f2`
first_line=`head -n1 ${COMMIT_MSG_FILE}`
if [ -z "$first_line" ]; then
sed -i ".bak" "1s/^/[#$issue_number] /" ${COMMIT_MSG_FILE}
fi
=> shell 파일을 생성하고 실행 권한을 추가해줍니다.
chmod +x ./addIssueNumber.sh