第3章 Github Flow/Git-Flowを使った運用

git-flowのインストール

Windows版git-flowのインストール

Windowsでgit-flowを利用する場合、Gitの他に依存ライブラリのインストールやスクリプトの実行が必要です。

Gitのインストール

当サイトのGitHubとGitを使ってみるなどを参考にmsysGitとTortoiseGitをインストールしてください。

依存ライブラリのインストール

git-flowで必要なライブラリをGitのフォルダにコピーします。util-linux-ng for Windowsから、Binaries、DependenciesのZIPをダウンロードしてください。

git-flow-download


※薄い青の背景色の個所がBinariesとDependenciesです。

ライブラリのインストールは手作業で必要なファイルをGitフォルダにコピーします。
まず、BinariesとDependenciesのZIPファイルをダウンロードしたら、それぞれのZIPファイルを解凍します。次に、BinariesからダウンロードしたZIPファイルでしたらbinフォルダのgetopt.exe、DependenciesからダウンロードしたZIPファイルでしたらbinフォルダのlibintl3.dllを、Gitのbinフォルダ(デフォルトであればC:\Program Files (x86)\Git\bin か C:\Program Files\Git\bin)にコピーします。
ライブラリの用意が済んだので、git-flowをインストールしましょう。

git-flowのインストール

Git Bashからgit-flowのインストールを行います。
インストール場所は任意ですが、ここではユーザフォルダ(例: C:\Users\[ユーザ名])とします。
インストールの場所からGit Bashを開くか、Git Bashを起動した後、cdで移動してください。

# ホームディレクトリに移動
cd ~

# クロン
git clone http://github.com/nvie/gitflow.git

クローンが終わると、C:\Users\UserName に gitflow というフォルダが作成されます。

.gitmodules ファイルの編集

gitflow フォルダに .gitmodules というファイルがあるので、そのファイルを編集します。

.gitmodules
[submodule "shFlags"]
path = shFlags
url = http://github.com/nvie/shFlags.git

変更するのはurlの値で、デフォルトではgitプロトコルが指定されていますが、gitプロトコルが制限されている可能性が高いのでhttpプロトコルに変更しています。
変更後、Git Bashにてgitflowフォルダに移動し、次のようにしてサブモジュールを取得します。

cd gitflow
git submodule init
git submodule update

インストーラの実行

最後にgit-flowのインストーラを実行します。管理者権限でコマンドプロンプトを起動する必要があるので、例えば Windows 10 であればタスクバーのWindowsマークで右クリックし、メニューに表示された[コマンドプロンプト(管理者)]を選択します。

コマンドプロンプトでgit-flowをクローンしたフォルダに移動し、msysgit-install.cmd を実行します。
msysgit-install.cmdの引数にはGitのインストール先フォルダを指定してください。

cd C:\Users\[ユーザ名]\gitflow
contrib\msysgit-install.cmd "C:\Program Files\Git"

以上で Gitディレクトリ\bin\git-flow フォルダにgit-flowがインストールされます。

Linux版git-flowのインストール

ディストリビューションでgit-flowが提供されていれば、apt、もしくはyumコマンドでgitflowパッケージをインストールします。
git-flowパッケージが用意されていない場合、任意のダウンロード用ディレクトリに移動し、下記コマンドでインストールしてください。

wget -q -O - --no-check-certificate https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | sudo bash

インストール後の確認

git flowコマンドで、下記のように出力されればインストールが正常に行われています。

git flow
usage: git flow 

Available subcommands are:
   init      Initialize a new git repo with support for the branching model.
   feature   Manage your feature branches.
   release   Manage your release branches.
   hotfix    Manage your hotfix branches.
   support   Manage your support branches.
   version   Shows version information.

Try 'git flow  help' for details.

次のようなエラーが出力された場合は、インストールディレクトリにパスが通っているか確認してください。

git flow
git: 'flow' is not a git command. See 'git --help'.

Did you mean one of these?
        reflog
        show

関連記事