準備が終わったら、git-flowで利用するリポジトリを作成してみましょう。リポジトリを管理する管理者と、リポジトリを利用して作業を行う担当者の手順に分けて解説します。大まかな流れは図5のようになります。
ソースコードを共有する共有リポジトリサーバ上に空のGitリポジトリを作成します。Gitのリポジトリであれば、何でも構いませんが、ここでは、GitHubを利用して、下記のURLにリポジトリを作成した例で解説します。
すでに共有リポジトリ上でソースコードを管理している場合は、管理者の端末にリポジトリをクローンします。
$ git clone https://github.com/okamototk/test.git
$ cd test
Git Bashを起動し、git-flowで管理したいソースコードなどがあるフォルダ(すでにリポジトリで管理している場合は、クローンしたソースコードがあるフォルダ)へ移動して、下記のコマンドでリポジトリを初期化します。
$ git flow init -d
Initialized empty Git repository in c:/User/okamototk/test/.git/
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? []
初期化により、git-flowで利用するブランチが設定されます。「-d」オプションを外すと、git-flowで利用するブランチ名を自分で付けることができますが、特に理由がなければ、デフォルトのブランチ名を利用するのがよいでしょう。
初期化が完了したら、ブランチの情報を「git branch」コマンドで確認します。
$ git branch
* develop
master
作業用のdevelopブランチ上に移動したことが確認できます。
git-flowで管理するリポジトリを作成したら、共有リポジトリへプッシュし、担当者に共有します。新規に管理する場合は、「git remote」コマンドでプッシュ先のリポジトリを設定してからプッシュします。
$ git remote add origin https://github.com/okamototk/test.git(新規の場合)
$ git push --all
「git push」コマンドに「-all」オプションを付けることにより、git-flowで利用されるdevelopブランチも一緒にプッシュできます。
以上で、作業用の共有リポジトリの準備は完了です。
各担当者は、git-flow用にセットアップしたリポジトリを利用して開発を進めていきます。担当者の準備の概要を図6に示します。
普通にGitを利用する場合と異なり、リポジトリをクローンした後、担当者のリポジトリでも「git flow init」コマンドを実行し、git-flowの初期化を行う必要があるので、注意してください。
まず、各開発者の端末に「git clone」コマンドでソースコードを取得します。
$ git clone https://github.com/okamototk/test.git
git-flowは、git-flowのブランチの設定情報をGitリポジトリ上に保持できません。リポジトリ管理者の端末で行ったのと同様に、担当者のリポジトリでもgit-flowを利用する前に、下記の手順で初期化する必要があります。
$ git flow init -d
Using default branch names.
Which branch should be used for bringing forth production releases?
- master
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? []
共有リポジトリ作成時にgit-flowで利用するブランチ名を独自に設定している場合、「-d」オプションを外して、共有リポジトリ作成時に設定したブランチ名を入力してください。
初期化後、現在のブランチを確認すると、開発用のdevelopブランチにいることが確認できます。
$ git branch
* develop
master
今回は、git-flowの導入とリポジトリの準備について解説しました。次回は、実際にブランチを運用していく手順を紹介します。
Copyright © ITmedia, Inc. All Rights Reserved.