Git Flow の使い方

注釈

(2022/08/12追記) ここ数年、git-flowはまったく使っていません。 結局ひとりで開発する場合は、複雑なブランチ開発はせずに、 ひたすらメインブランチにコミットしていくのが、楽ちんだと感じています。

git flowVincent Driessenのブランチモデル に基づいたGit拡張です。

ブランチの用途(開発なのか、リリースなのか、ホットフィックスなのか) に焦点をあて、 それに合ったブランチ切り替えが簡単にできるように、何種類かのGitコマンドをまとめたものです。 実際に git-flow コマンドの中身はシェルスクリプトです。

下の図は git-flow を整理するために自分で作ってみた図です。 上のリンク先にある図と内容は同じだけど、ちょっと見た目をシンプルにしてみました。

たとえば git flow start MyFeature の場合、

  1. develop ブランチをチェックアウトする( $ git checkout develop

  2. develop ブランチから feature ブランチを作成する( $ git branch feature/MyFeature

  3. そのfeatureブランチをチェックアウトする( $ git checkout feature/MyFeature

といったように、3手間かかるのが1手間で済みます。

git flow release finish MyRelease の場合の部分を眺めてみると分かるかもですが、 ブランチ管理がとても楽になるので、オススメです。