git-flowをやってみる


[まとめ] 現在開催中のKindleセール情報はこちら

2週間ほど前に以前から気になっていた上記書籍を買って一気読みしました。

その中でgit-flowやgithub-flowの方法が詳細に解説してあったので、いまさらですがgit-flowを試してみました。

1. git-flowインストール

macの場合はbrewでインストールできます

brew install git-flow

CentOSの場合は CentOSにgit-flowをインストールする方法 – Qiita を参考にさせていただきました。

2. 初期設定

  • リポジトリclone(サンプルです)
git clone git@github.com:hilotter/rails_upload_sample.git
cd rails_upload_sample
  • git flow初期設定
git flow init -d
  • dvelopブランチになっていることを確認
git branch

* develop

3. 新機能の開発を始める場合

  • featureブランチを作成する
git flow feature start add-xxxx
  • 追加したfeatureブランチに該当作業のみをコミットする(今回の機能追加と関係ない作業は別ブランチを作って行う)

  • 途中developブランチに別のメンバーがマージを行った場合、featureブランチに差分を取り込む

git pull origin develop

コンフリクトが発生した場合は適宜修正を行う。

  • 作業が落ち着いたタイミングでリモートブランチにpush
git push origin feature/add-xxxx
  • チームメンバーでレビューしてフィードバック

  • コードを修正してフィードバックを反映(ローカルのブランチに反映していく)

  • ひと通り修正したタイミングでリモートブランチにpush

  • チームメンバで再度レビューして、問題なければdevelopブランチにマージ

git co develop
git pull
git merge feature/add-xxxx
git push
  • マージ後、3.に戻って次の新機能開発を行う

ざっくりですが今回はdevelopとfeatureブランチの基本的な開発の流れをやってみました。

Using git-flow to automate your git branching workflow」にある公式の全体像は以下のようになります。

gitflow

引き続きgit-flow実践してみようと思います。

参考

[まとめ] 現在開催中のKindleセール情報はこちら