skillup

技術ブログ

Git

git flowについて

投稿日:2019年5月28日 更新日:

最近、現場で少し使うようになったgit flowに関して。

gitでbranchを切って開発をする場合、

  1. git branch ブランチ名でブランチ作る
  2. なんらかの開発
  3. 開発が終わったらgit merge

とやることが一般的でした。

ブランチを恒常的に分けて使う場合は、基本的にこの方法で問題ないと思います。

ただdeveopブランチがあり、特定の機能をつけたい場合など、developでそのままやっていると他の方との開発と干渉してしまう可能性があります。

そこで、特定の機能などがある場合、git flowを使うと上記の流れがスムーズになります。

git flowとは

git flowを使うと特定機能の改修時にfeatureブランチという一時的なブランチを作成します。

これにより

  1. git flowを使ってfeatureブランチ作成(feature/フューチャーブランチ名)
  2. なんらかの開発
  3. developブランチ,masterブランチにマージ
  4. featureブランチはもう終わったので、削除

という流れができます。

参考URL

Gitのdevelopでの作業について

実際のコマンド

前提条件として、masterとdevelopブランチが存在していること

git flowのインストール
(gitの標準機能ではなくて、プラグインをインストールする必要があるようです。)

git flowの登録

git flowを使う場合、下記のコマンドで登録的な処理をすることが必要なようです。

この操作はブランチにつき、1回のようです。

master,developに当たるブランチの登録などが対話形式で進んでいきます。

例えばdevelopに相当するブランチをdevにしたいなどは変更ができるようです。

特定機能のためのfeatureブランチを作成

実際にfeatureブランチを作成します。

実際の開発

通常のgit add ,git commit,git pushなど。

ちなみに複数人で特定の機能を開発したい場合、当然他人のブランチを取り入れる必要があるので、
git flow feature pull feature kinou1
と打つと自分のローカルにブランチを持ってこれるようです。(通常のfetchでも問題ないようですが・・)

マージ作業

通常通りgit mergeをしてもいいですが、
git flow feature finish kinou1
というコマンドを使いますと自動的にmergeされ、かつfeatureブランチは寿命がきたので、削除されるようです。リモートへはgit branch --delete origin feature/kinou1とうって削除しておいた方が良いでしょう。

成功すると下記のようなメッセージが出ます。

本来はdevelopブランチをさらにリリースする前に分岐させ、masterにあてるためのreleaseブランチというのもあるようです。(リンク参照)

参考リンク

git flow cheetsheet

またバグ修正などはちょっと流れが違いますが、同じタイプのブランチとしてhot-fixというブランチもあるようです。

-Git
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Gitデタッチ、インデックス、プッシュなど

まとまってませんが、Gitであったトラブルについてのメモです。 Contents1 デタッチ状態2 インデックス一覧&削除2.1 インデックスの一覧2.2 インデックスから取り除くとき3 git pu …

no image

追跡ブランチからローカルブランチを作る方法~ (svn→gitの移行など)

SVNで運用されていたプロジェクトをgitに移行する機会があったのでその時のメモなどを。 思ってたよりは楽だったかな・・・ Contents1 準備2 実際の移行(git svn clone)3 gi …

no image

ファイルを戻したい時のGitコマンド

使用ケースでGitコマンドを復習してみようかなと思いました。 主にgit resetの用法整理ですが・・・ Contents1 ローカルを間違ってaddしてしまい、インデックスへの変更を取り除きたい2 …

no image

Gitで統合 merge関連

本日はずっとブランチ間の統合を行っておりました。 たとえばhogeブランチとfooブランチの統合をする場合、差分を最初に確認すると思いますが、 [crayon-5fbe0409b203d5718479 …

no image

Gitで差分を見やすく表示する方法

gitの差分確認ですが、デフォルトのコンソールの画面だと下記のようなわかりにくい表示になります。 差分をチェックしたい場合はやはり左右にわけてしっかり見ることができたほうがいいですね。 この実現の仕方 …