GitHub Flow 図解

  • 400
    いいね
  • 8
    コメント
この記事は最終更新日から1年以上が経過しています。

GitHub Flow 図解

概要

Git・GitHubを利用したシンプルで強力なワークフローであるGitHub Flowを図にまとめました。
GitLabでも利用可能なFlowです。GitLabの場合は Pull Request を Merge Request に読み替えてください。

前提

実際にGitHub Flowを実践したことはありません。(2014/06/12時点)
これからチームで導入予定で、メンバーとワークフローを共有するために図を作成しました。
ワークフローの誤りなどご指摘いただけると幸いです。

アクティビティ図をベースに作成してありますが、厳密な記法よりも
相手に伝わればいいかな、という点を重視しています。

基本原則

  • masterブランチは 常時デプロイ可能 である
  • 機能追加、バグフィックスなどは 説明的な名前のブランチ をmasterから作成する

    • 機能追加の例: add_user_notice (ユーザーの通知機能追加)
    • バグフィックスの例: fix_user_login_validation_error (ユーザーのログイン認証のVlidation修正)
  • 作成したブランチでローカル開発。小さい単位でこまめにコミットし、リモートにもこまめにPush

  • フィードバックや助言が欲しい時、ブランチをマージしてもよいと思ったときは、 Pull Request を作成する

    • フィードバックや助言が欲しい時に作成する Pull Request を WIP Pull Request という
    • WIP = Work In Progress
    • WIP Pull Request を行う場合は、Pull Request 名の頭に [WIP] をつけるのが慣習
  • レビューOKになったら、masterへマージ

  • masterへpushしたら、即デプロイをする

図解 ( astah* community 版)

github_flow.png

図解 ( Gviz 版)

Ruby | Gviz gem で GitHub Flow の図を書いてみる

上記記事で、Gviz の練習がてら、astah* で作成した図と同じものを Gviz で作成してみました。
※ Gviz は Graphviz を便利に使うための Ruby のラッパー gem です。

github_flow_gviz.png

補足

アクティビティ図は無償UMLモデリングツールの astah* community で作成しました。

アクティビティ図の元データである github_flow.asta は

GitHubに公開してありますので、Pull Requestなども受け入れます。

Forkしていただいて、自分のチーム向けにカスタマイズしていただいても構いません。

https://github.com/tbpgr/github_flow_for_ja