A successful Git branching modelとgit flow

参考:

 

空のリモートリポジトリがあり、そこにmasterとdevelopブランチを作成し、
それをcloneしてgit flowを使用しながら開発する

1.git flowの導入

https://github.com/nvie/gitflow からソースをダウンロード、コンパイル・インストール

$ git clone https://github.com/nvie/gitflow.git
$ cd gitflow
$ sudo make install
(インストール先を指定する場合はmake prefix=インストール先 install)

2.初期設定

リモートリポジトリからクローン

$ git clone http://example.jp/repos/git/test.git .

初期コミット

$ touch .gitignore
$ git add .gitignore
$ git commit -m "Initial commit"

リモートリポジトリに反映

$ git push origin master

ローカルのdevelopブランチを作成

$ git checkout -b develop

リモートリポジトリにdevelopブランチを作成

$ git push origin develop

ローカルのdevelopブランチを削除

$ git checkout master
$ git branch -d develop

3.開発フロー

a. 初回設定

リモートリポジトリからクローン

$ git clone http://example.jp/repos/git/test.git .

リモートリポジトリのdevelopの追跡ブランチ (トラッキングブランチ)を作成

リモートのdevelopブランチとローカルのdevelopブランチをつなげる

$ git checkout -t origin/develop
(git checkout -b develop origin/develop)

git flow の初期設定

$ git flow init

  Which branch should be used for bringing forth production releases?
     - develop
     - master
  Branch name for production releases: [master] 

  Which branch should be used for integration of the "next release"?
     - develop
  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? []

b. 開発ルーチン

git flow featureなどを使って開発

featureブランチ
git flow feature
git flow feature start
git flow feature finish
finishしたらdevelopブランチを更新

releaseブランチ
git flow release
git flow release start
git flow release finish
finishしたらmasterとdevelopブランチを更新

hotixブランチ
git flow hotfix
git flow hotfix start
git flow hotfix finish
finishしたらmasterとdevelopブランチを更新

リモートのdevelopブランチの取得・反映

% git pull origin develop
% git push origin develop

リモートのmasterブランチの取得・反映

% git pull origin master
% git push origin master
広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中