🐙
gitのコミットメッセージにissueのリンクを挿入
コミットメッセージを repoOwnerName/repoName#issueNumber コミットメッセージ
みたいにすることが多いため自分は下記のようなスクリプトを書いて利用している。
function issuecommit() {
if [ -z "$1" ] ; then
echo "commit commentを入力してください。"
return 1
fi
branchName=`git branch | grep \*`
branchName=${branchName#*/#}
issueNumber=`echo $branchName | sed -e "s/[_-].*//g"`
# 数字判定
expr $issueNumber + 1 > /dev/null 2>&1
retNumber=$?
if [ $retNumber -lt 2 ] ; then
echo "issue番号:$issueNumber"
repositoryPath=`git config --get remote.origin.url | sed -E "s/git@github\.com:(.*)\.git/\1/g"`
commitCommand="git commit -m \"${repositoryPath}#${issueNumber} $1\""
else
echo "ブランチにissue番号がないので普通にコミットします"
commitCommand="git commit -m \"$1\""
fi
echo -e "実行コマンド:\n"
echo $commitCommand
echo -e "\n 実行する場合は y、実行をキャンセルする場合は n と入力して下さい."
read input
if [ -z $input ] ; then
echo " y または n を入力して下さい."
elif [ $input = 'yes' ] || [ $input = 'YES' ] || [ $input = 'y' ] ; then
echo " コミットを実行します."
eval ${commitCommand}
elif [ $input = 'no' ] || [ $input = 'NO' ] || [ $input = 'n' ] ; then
echo " 処理をキャンセルしました."
return 1
else
echo " y または n を入力して下さい."
fi
return 0
}
alias icm='issuecommit'
# カレントブランチは feature/#issueNumber_xxxxxx 形式
$ git branch
* feature/#187_add-fugafuga
# リポジトリ
$ git config --get remote.origin.url
git@github.com:hs7/xxx-api.git
# 使う時
$ icm "hogehogeにfugafugaメソッドを追加"
issue番号:187
実行コマンド:
git commit -m "hs7/xxx-api#187 hogehogeにfugafugaメソッドを追加"
実行する場合は y、実行をキャンセルする場合は n と入力して下さい.
y
コミットを実行します.
これでgithubで見た時に hs7/xxx-apiリポジトリのissue/187 にコミットメッセージがリンクされる。
Discussion