Gitを用いた効果的なブランチ運用方法である「A successful Git branching model」をサポートするツールとして、git-flowというものがあります。
msysGitにも対応したインストールスクリプトが付いていてインストールも簡単なのですが、一点だけ気になる点があります。それは既定で「%Program Files%\Git」に入れなければならない設定になっている、ということ。
本来プラグインであるはずのプログラムが本体のフォルダを汚すのには少し抵抗があったので、Git Bashのホームディレクトリ($Home、~。Windowsの%UserProfile%が既定で設定される)の下のbinフォルダにインストールする方法を試行錯誤してみた結果を紹介します。
前提知識
実際にインストールする前に、前提知識として「Git Bash実行時、~/binには自動的にパスが通っている」ということを覚えておいてください。
私も調べるまで知らなかったのですが、上記の設定がされていることで、導入したいツールがあればとりあえず~/binに置けば動きます。
インストール手順
手順1:~/binディレクトリを作成する
msysGitインストール直後は~/binフォルダはありませんので、以下のコマンドで作成しておきます。
$ mkdir ~/bin
手順2:getopt.exe、libintl3.dllを~/binディレクトリにコピーする
公式GitHubのドキュメント(Windows · nvie/gitflow Wiki · GitHub)にも書いてあることですが、msysGitでgit-flow(正確にはその内部で使用しているshFlags)を動かすには、追加の実行ファイル、ライブラリが必要です。
これらを上記リンク先文書に従いダウンロードして~/binディレクトリにコピーしましょう。
手順3:インストールする
ここまででインストール準備は整いましたので、あとはインストールスクリプトを次のように実行します。
C:\pathtogitflow> .\contrib\msysgit-install.cmd %UserProfile%
以上の手順で無事git-flowがインストールされました。実際に使ってみましょう。
$ git flow init -d
Initialized empty Git repository in c:/Users/takano-s/gitrepos/testrepos/.git/
Using default branch names.
No branches exist yet. Base branches must be created now.
Branch name for production releases: [master]
Branch name for "next release" development: [develop]
How to name your supporting branch prefixes?
Feature branches? [feature/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]
Version tag prefix? []
無事動作していることが確認できました。
なお、~/binディレクトリへは、例えばgit-nowなどの追加コマンドや別途makeなどのLinuxツールを入れたりも出来ますし、そのまま他のマシンにコピーするだけで環境を再構築できるので、お勧めです。