Last active
December 16, 2022 06:55
-
-
Save markruler/e93d2cfc1339d9a03c2ad8ebf1c5005a to your computer and use it in GitHub Desktop.
GitHub 커밋 메세지에 JIRA 이슈번호 자동으로 넣어주기
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
if [ -z "$BRANCHES_TO_SKIP" ]; then | |
BRANCHES_TO_SKIP=(master develop release hotfix) | |
fi | |
PROJECT_ID=ASA | |
BRANCH_NAME=$(git symbolic-ref --short HEAD) | |
BRANCH_NAME="${BRANCH_NAME##*/}" | |
JIRA_ID=`echo $BRANCH_NAME | egrep -o "$PROJECT_ID-[0-9]+"` | |
BRANCH_EXCLUDED=$(printf "%s\n" "${BRANCHES_TO_SKIP[@]}" | grep -c "^$BRANCH_NAME$") | |
COMMIT_MSG_HEAD=$(head $1 -n 1) | |
BRANCH_IN_COMMIT=$(grep -c $COMMIT_MSG_HEAD) | |
if [ -n $JIRA_ID ] && ! [[ $BRANCH_EXCLUDED -eq 1 ]] && ! [[ $BRANCH_IN_COMMIT -ge 1 ]]; then | |
sed -i.bak -e "1s/^/$JIRA_ID #time /" $1 | |
fi |
혹시 이거 mac 에서 잘 동작 하나요~?
이 스크립트 당시 몇 주 써보고 안 쓰고 있습니다. rebase 할 때 커밋 할 때마다 저 스크립트가 동작해서 더 불편하네요. 이슈 번호가 있는데 또 붙이기도 하고요.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
원본은 오류가 없지만
수정본의 브랜치명을 검사하는 부분에 오류가 있어서 수정함.
CLI 환경에서 오류가 있습니다.
$1
은COMMIT_MSG_FILE
(커밋 메시지 파일 경로)를 의미하는데git
명령어를 사용할 경우 해당 파일의 주석에 브랜치명이 포함되어 있습니다. 수정된 코드에서는$1
파일의 첫 줄만 검사하도록 변경했습니다. 추가로 Jira 이슈 번호 뿐만 아니라 #time 까지 입력하도록 추가했는데 필요없으신 분은 해당 부분 제거하시면 됩니다.