msysgitでgit-flowとgit-flow-completionを使う方法

msysgitgit-flowを使おうとして、少しインストールにハマったので、メモ。

環境

  • Windows 7 64bit
  • msysgit 1.8.0(Git-1.8.0-preview20121022.exe)

前提知識

見えないチカラ: A successful Git branching model を翻訳しました

git-flowのインストール

git-flowのインストールにはgetopt.exelibintl3.dllが必要です。
util-linux packageのDownloadからBinariesのZIP、DependenciesのZIPをダウンロードします。
C:\Users\sinsoku\bin\ *1getopt.exelibintl3.dllの2つを入れる。

Git Bashを起動させ、インストール前準備を行う。

sinsoku@PC ~
$ echo "export PATH=\$PATH:~/bin:" >> ~/.bashrc
sinsoku@PC ~
$ source ~/.bashrc

次にgit-flowのコードを取得する。*2

sinsoku@PC ~
$ cd /C
sinsoku@PC /C
$ git clone --recursive git://github.com/nvie/gitflow.git

そして、Windowsコマンドプロンプト管理者として実行で起動*3させ、インストールを実行する。(※ここではGit Bashを使わない)

C:\Windows\system32> cd C:\gitflow
C:\gitflow> contrib\msysgit-install.cmd "C:\Program Files (x86)\Git"

これで、git-flowが使えるようになる。

ちなみに

32bitだと、引数のGitのパスの指定は要らないと思う。

C:\Windows\system32> cd C:\gitflow
C:\gitflow> contrib\msysgit-install.cmd

git-flow-completionをインストールする

git-flowでもコマンドの補完が効くように設定します。
git-flow-completion.bashをダウンロードし、C:\Users\sinsoku\bash_completion.d\ *4に入れる。その後、Git Bashで下記の作業を行う。

sinsoku@PC ~
$ echo "source ~/bash_completion.d/git-flow-completion.bash" >> ~/.bashrc
sinsoku@PC ~
$ source ~/.bashrc

これでgit flowの各コマンドで補完が効くようになります。

.bashrc の中身

この手順でコマンドを実行すると、~/.bashrc の中身が下記のようになるはずです。

export PATH=$PATH:~/bin:
source ~/bash_completion.d/git-flow-completion.bash

*1:存在しない場合、フォルダを新規作成する。sinsokuの部分は自分のユーザ名

*2:git cloneが使えない場合、Githubからzipファイルで落とす方法もあるが、この場合 shFlags がsubmodule になっている点に気をつける

*3:スタートメニュー → すべてのプログラム → アクセサリを開き、コマンドプロンプトの右クリックから

*4:bin\ と同じく、無ければ新規作成する