Skip to content

DNET_GithubFlow

nishi_74322014 edited this page Sep 11, 2026 · 1 revision

Github - フロー関連

概要

採用するフローは、CONTRIBUTING.mdに記載しておくと良い。

https://github.com/OpenTouryoProject/OpenTouryo/blob/develop/CONTRIBUTING.md

詳細

以下、AIにGit Flow と GitHub Flow の概要と違いを概説していただいた(笑)

Git Flow

  • Vincent Driessen によって考案されたブランチ戦略
  • 主に長期運用するプロジェクト や リリース管理が重要な開発で採用

特徴(Git Flow)

  • 複数のブランチを活用する戦略
  • リリース単位での開発を重視
  • 本番環境と開発環境を明確に分離

ブランチ構成(Git Flow)

  • main(master)ブランチ
    安定版(リリース済みのコード)のみ

  • develop ブランチ
    開発用のメインブランチ

  • feature ブランチ

    • 新機能開発用のブランチ
    • develop から作成し、完了後に develop にマージ
  • release ブランチ

    • リリース準備用のブランチ
    • develop から作成し、最終調整後 main にマージ
  • hotfix ブランチ

    • 本番環境でのバグ修正用
    • main から作成し、修正後 maindevelop にマージ

適用シーン(Git Flow)

  • エンタープライズ向けアプリケーション(長期運用を考慮)
  • リリース管理が厳密なソフトウェア
  • 複数人チームでの開発

GitHub Flow

  • GitHub に最適化された シンプルなブランチ戦略
  • 継続的デリバリー(CD)を前提とした開発に適す。

特徴(GitHub Flow)

  • main(master)ブランチを常にデプロイ可能な状態にする
  • 基本的に1つのブランチ(main)を中心に開発
  • リリースのたびに main に直接マージ
  • シンプルなフローで高速開発向き

ブランチ構成(GitHub Flow)

  • main(master)ブランチ
    デプロイ可能な最新のコード

  • feature ブランチ(トピックブランチ)

    • 新機能やバグ修正用の一時的なブランチ
    • main から作成し、完了後 main にマージして削除

フロー

  1. main から feature ブランチを作成
  2. コード変更後、GitHub でプルリクエスト(PR)を作成
  3. レビュー後 main にマージ
  4. 本番環境にデプロイ

適用シーン(GitHub Flow)

  • Webアプリやマイクロサービス(頻繁なリリースが必要)
  • アジャイル開発
  • スタートアップや小規模チーム

比較表

項目 Git Flow GitHub Flow
開発スタイル リリース単位の開発 継続的デリバリー(CD)
ブランチ数 多い(main, develop, feature, release, hotfix) 少ない(main, feature)
リリース管理 明確なリリースサイクル 即時リリース
適用プロジェクト 長期運用、大規模開発 Webサービス、小規模開発
メリット 安定性が高い、リリース管理しやすい シンプル、迅速な開発が可能
デメリット 運用が複雑 リリース管理が難しい

選択基準

  • Git Flow
    大規模プロジェクト(エンタープライズ向け、厳密なリリース管理が必要)

  • GitHub Flow
    小規模プロジェクト(Webアプリ開発、アジャイル開発)

GitHub Flow のシンプルさを活かしつつ、必要に応じて Git Flow の要素を取り入れると良い。

例えば、OpenTouryoProjectでは、main(master)、develop、featureで運用していたりシた。

参考

GitHub Flow(参考)

git-flow(参考)

移行メモ

  • 生成AIの出力を貼り付けた際に残った、行末の閉じられていない強調記号(**)を除去した (「特徴(GitHub Flow)」「適用シーン(Git Flow)」の各項目)。
  • 比較表の 1 列目のヘッダが空欄だったため「項目」を補った。
  • 同名の見出し(「特徴」「ブランチ構成」「適用シーン」「GitHub Flow」「git-flow」)が 複数あり GitHub Wiki でアンカが衝突するため、括弧で文脈を補って一意にした。

Tags: 移行, GitHub, Git Flow, GitHub Flow, ブランチ戦略, プルリクエスト, 継続的デリバリー

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally