LoginSignup
681

More than 5 years have passed since last update.

GitHub Flow 図解

Last updated at Posted at 2014-06-12

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していただいて、自分のチーム向けにカスタマイズしていただいても構いません。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
681