数回にわたってgit-flowとGitHub Flowを使ったGitの活用テクニックを紹介します。今回は、git-flowのWindows、Mac、Linux別でのインストール手順、利用の仕方の流れ、ブランチ運用前のリポジトリ準備の流れを紹介。
前回の「いまさら聞けない、成功するブランチモデルとgit-flowの基礎知識」では、git-flowで利用するブランチモデルの概要について解説しました。今回は、git-flowのインストールとgit-flowを利用し始める前のリポジトリの準備について解説します。
git-flowを利用するには、コマンドラインから利用するCUIのgit-flowを利用する方法と、「SourceTree」などのgit-flowに対応したGUIを利用する方法があります。本稿では、git-flowの基本となり、Windows、OS X/Mac OS X、Linuxと全てのプラットフォームで利用するCUIのgit-flowの使い方を解説します。
なおWindows以外は、前提としてGitコマンドがすでにインストールされている必要があります。また想定読者として、ある程度Gitの利用経験がある方を対象としていますので、あらかじめご了承ください。
git-flowの利用の流れの概要を図1に示します。
リポジトリ管理者がリポジトリの作成・準備を行います。
各開発者は用意されたリポジトリからクローン後、git-flowのための初期化を行います。
初期設定後、担当者は各ブランチで作業を進めていきます。
リリースブランチを作成し、共有リポジトリで共有します。
masterブランチへのマージとタグを打ち、リリースするソースコードを確定します。
上記詳細については、後の連載で紹介します。今回は、git-flowのインストールと、リポジトリ管理者による「リポジトリ準備」と、担当者の「初期化」について解説します。
git-flowを利用するには、まずインストールする必要があります。git-flowのインストール方法をWindows、OS X/Mac OS X、Linuxとプラットフォーム別に解説します。
Windowsでgit-flowを利用する場合、Gitの他にgit-flowが利用するライブラリのインストールやインストールスクリプトの実行が必要となり、OS X/Mac OS X、Linuxに比べると若干手間が掛かります。
Gitのダウンロードサイトから、Gitをダウンロードしてインストールしておきます。
git-flowをインストールするために必要なライブラリをGitのフォルダにコピーします。サイト「util-linux-ng for Windows」から、図2に示す「Binaries」「Dependencies」のzipをダウンロードし、必要なファイルをGitフォルダにコピーします。
「Binaries」から「util-linux-ng-x.x.x-bin.zip(x.x.xはダウンロード時のバージョン番号)」をダウンロードし、zipファイルに含まれる「getopt.exe」をGitのインストール先の「bin」フォルダ(デフォルトでは、「C:\Program Files (x86)\Git\bin」もしくは「C:\Program Files\Git\bin」)にコピーします。
「Dependencies」から「util-linux-ng-x.x.x-dep.zip(x.x.xはダウンロード時のバージョン番号)」をダウンロードし、zipファイルに含まれる「libintl3.dll」を同じくGitの「bin」フォルダにコピーします。
図3のように「libintl3.dll」「getopt.exe」が「bin」フォルダにコピーされているか、確認します。
ライブラリのコピーが完了したら、WindowsのスタートメニューなどからGit Bashを起動し、Gitのシェルからgit-flowのインストールを行います。オフィスなどで、インターネット接続にプロキシが必要な環境であればプロキシの設定を行い、git-flowをクローンします。
$ git config --global http_proxy http://proxy.itmedia.co.jp:8080/(プロキシが必要な場合)
$ git clone http://github.com/nvie/gitflow.git
git-flowは、サブモジュールとしてshFlagsを利用しますが、デフォルトでは、gitプロトコルでGitHubからshFlagsを取得するように設定されています。インターネットにアクセスが制限されているようなオフィス環境では、gitプロトコルでshFlagsが取得できずにエラーになってしまいます。
次のように、取得した「gitflow」フォルダの「.gitmodules」ファイルを編集し、httpプロトコルで取得するように変更します。
[submodule "shFlags"]
path = shFlags
url = git://github.com/nvie/shFlags.git
[submodule "shFlags"]
path = shFlags
url = http://github.com/nvie/shFlags.git
変更後、「gitflow」フォルダに移動し、次のようにしてサブモジュールを取得します。
$ cd gitflow
$ git submodule init
$ git submodule update
最後に管理者権限でコマンドプロンプト(cmd.exe)を起動し、git-flowのインストーラを実行します。管理者権限で実行しないと、git-flowが正しくインストールされないので、注意してください。
管理者権限でコマンドプロンプトを実行するには、例えばWindows 7の場合は、メニューからコマンドプロンプトを選択し、右クリックから[管理者として実行]を選択します。
起動したコマンドプロンプト上で、git-flowをクローンしたフォルダに移動し、「contrib」フォルダの下にある「msysgit-install.cmd」を実行します。
C:\Users\okamototk\gitflow> contrib\msysgit-install.cmd "C:\Program Files (x86)\Git"
引数には、Gitのインストール先フォルダを指定します。インストール先フォルダを変更した場合や、32bit版のWindowsをご利用の場合は、適宜変更してください。
上記コマンドを実行すると、インストールスクリプトが走り、「Git\bin\git-flow」フォルダにgit-flowがインストールされます。
Gitをインストールした状態で、「Homebrew」もしくは「MacPorts」で下記のようにgit-flowパッケージをインストールするだけです。
C:\Users\ok$ brew install git-flow
C:\Users\ok$ port install git-flow
ディストリビューションでgit-flowが提供されていれば、apt/yumコマンドを利用してgitflowパッケージをインストールすれば簡単に導入できます。git-flowのパッケージは、Fedora/Ubuntuの最新版で用意されています。CentOSの場合は、EPELリポジトリのパッケージを利用します。
git-flowパッケージが用意されていない場合や、最新版を利用したい場合は、上記のWindows版の手順と同様にgitflowリポジトリをクローン、「.git/config」ファイルを修正(プロキシが必要な場合)、サブモジュールのアップデートを行ってください。ルートユーザーで、クローンしたgitflowの親フォルダに移動し、下記のコマンドを実行してください。
# bash gitflow/contrib/gitflow-installer.sh
gitflowのディレクトリへ移動して実行すると、正しくインストールされないので注意してください。
Copyright © ITmedia, Inc. All Rights Reserved.