TL;DR
GitHub Flowではなく、Git Flowについて。
git flow init
ではなくgit config
コマンドで設定してしまおう。という話
経緯など
稀にmasterブランチは master-custom
, developブランチは develop-custom
ブランチという名前で運用したい状況がある。
(例えばOSSをforkして、拡張する場合)
git-flowコマンドではmaster, developの名前で初期値が設定されるので 名前が違う場合は明示的に設定を変更する必要がある。
git flow init
を叩くと対話的に設定可能だが、説明が手間/冗長であったり
手作業が混入してしまうのは間違うリスクがあるのでプロジェクトとしては避けたいところ。
そこでシェルスクリプトで設定してしまえば、間違いを減らせるはず。
スクリプト
git configコマンドで設定可能なので、プロジェクトの初期化スクリプトなどに含めてしまえばいい。
最後にcheckoutしているのは事前にローカルでもそのブランチが存在する状態にするため。 ローカルに存在しないとfeatureブランチやreleaseブランチを作成するときに親となるブランチが見つからないので。
#!/bin/bash MASTER_BRANCH=master-custom DEVELOP_BRANCH=develop-custom git config gitflow.branch.master $MASTER_BRANCH git config gitflow.branch.develop $DEVELOP_BRANCH git config gitflow.prefix.feature feature/ git config gitflow.prefix.hotfix hotfix/ git config gitflow.prefix.release release/ git config gitflow.prefix.support support/ git config gitflow.prefix.versiontag "" git checkout $MASTER_BRANCH git checkout $DEVELOP_BRANCH