git flow feature startは以下のような引数を取ります。
git flow feature start [-F] <name> [<base>]
[<base>]
はオプショナルな引数なので、通常では devlop
ブランチをベースにfeatureブランチが来られるようになっています。
そのため、あるfeatureブランチAに から ブランチAをベースに新しいfeatureブランチBを切るには
# 現在のブランチは branch_a
git flow feature start branch_b branch_a
というように書かかないとネストしたfeatureブランチは切ることができません。
いつも、現在のブランチを [<base>]
にしてfeatureブランチを切っても問題ないと思うので、そういう動作をするシェルスクリプトを書きました。
もうちょっとマシに書けるようにしたい…
# !/bin/bash
newBranchName=$1
echo $newBranchName
if [ $# -ne 1 ]; then
echo "You can start a new feature branch:"
echo " git flow feature start <name>"
exit 1
fi
currentBranchName=$(git rev-parse --abbrev-ref HEAD)
gitflowDevBranchName=$(git config gitflow.branch.develop)
if [ ${currentBranchName} = ${gitflowDevBranchName} ]; then
git flow feature start ${newBranchName}
else
git flow feature start ${newBranchName} ${currentBranchName}
fi
exit 0
動作は以下のような感じです。