skillup

技術ブログ

Git

git flowについて

投稿日:

最近、現場で少し使うようになった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  finish feature kinou1
というコマンドを使いますと自動的にmergeされ、かつfeatureブランチは寿命がきたので、削除されるようです。リモートへはgit branch --delete origin feature/kinou1とうって削除しておいた方が良いでしょう。

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

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

参考リンク

git flow cheetsheet

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

-Git
-

執筆者:


comment

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

関連記事

no image

gulpに関して

gulpに関しての復習と色々と間違っていたところもあるのでまとめ。 ちなみに以前書いた記事は下記 gulpインストールとタスクの実行 Contents1 インストール2 タスクの実行3 npxコマンド …

no image

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

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

no image

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

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

no image

最新版のgitをソースから&git diffおさらい

Contents1 gitをソースから2 git diff gitをソースから gitはyumから入れてもいいんですが、バージョンが古かったりすると機能がいろいろと制限されるなどのデメリットもあります …

no image

Gitについて基本頻出系

Gitでよく使うコマンドのまとめなんぞを。 Contents1 リポジトリ作成&基本設定2 リポジトリ取り込み系3 インデックス登録→コミット→リモート登録→プッシュ4 変更戻し系(基本的に中 …