9cubed
ブログ | Tailwind | Vite | Python | MariaDB | Node.js | Linux | PowerShell | Docker | Git | その他 | 将棋ウォーズ | 歌の練習
< 前の記事

Git と GitHub との連携

Git

[Git]ブランチの運用方法について

公開日:2026-01-05
更新日:2026-01-05

1. 概要

ブランチの運用方法についてです。

2. Git Flow

2.1 ブランチの種類

main : 本番リリース用
develop : 次回のリリースの開発用
feature : 新機能・修正用
release : リリース準備用
hotfix : 緊急修正用

2.2 リポジトリ作成後

コミットグラフ
main     初回コミット ---------
                      \
develop                  ------
最初に README.md などを main ブランチでコミットしてから、develop ブランチを作成します。

2.3 機能追加・修正

コミットグラフ
develop        ---------------------- マージ ----
                 \                /
feature             -- 機能追加 --
develop ブランチから分岐して feature ブランチを作成して開発します。develop ブランチで直接開発・コミットは行いません。
feature ブランチは、機能や修正毎に作成します。
ブランチの目的は 1 つにして、複数の機能追加やバグ修正を 1 つにまとめない。
ブランチ名は、「feature/login」「feature/add-search」「feature/fix-bug-123」のように、機能名などを付ける。
開発の途中でもコミットして良い。他のメンバーが途中経過を確認できるため。ファイルのバックアップにもなる。
feature ブランチで開発後、develop ブランチにマージします。

2.4 リリース

コミットグラフ
develop        ------------------ マージ ----
                 \            /
release             -- 修正 -- 
                               \
main           ------------------ マージ ----
開発が終わったら develop ブランチから分岐して releaseブランチを作成して、全体のテストや修正を行います。
完了後、releaseブランチを main ブランチと develop ブランチにマージします。
また、releaseブランチ作成後は、develop では「次の次」のリリースの開発を並行して行えます。

2.5 緊急修正

コミットグラフ
main           ---------------------- マージ ----
                 \                /
hotfix              -- 緊急修正 -- 
                                   \
develop        ---------------------- マージ ----
本番環境でバグが見つかった場合は、main ブランチから hotfix ブランチを作成して、バグを修正します。
修正後、main ブランチと developブランチにマージします。

3. GitHub Flow

main ブランチ

常にデプロイ可能な状態にする。
main には直接プッシュしない。

feature ブランチ

新機能の追加や修正を行う場合は、feature ブランチを作成する。
開発が終わったら、Pull Request を作成、PR をトリガーにして自動テスト、レビュー、main にマージ、ブランチの削除を行う。

コミットグラフ
main    -- 1 ------------------------------------------------- 5 --
             \                                             /
feature         -- 2 -- 3 -- 4(開発・Pull Request・テスト)
< 前の記事

Git と GitHub との連携

YouTube X

新着一覧

  • テーブル結合(CROSS JOIN、INNER JOIN、LEFT JOIN)MariaDB
  • 楽観ロック・悲観ロックMariaDB
  • カレントリードMariaDB
  • インデックスMariaDB
  • 論理削除(ソフトデリート)MariaDB
  • awk(オーク)の使い方についてLinux
  • NOT NULL 制約と NULL を許容した時の動作MariaDB
  • 外部キー制約MariaDB
  • MySQL と MariaDB の関係MariaDB
  • Docker で PostgreSQL のコンテナの使用Linux

アーカイブ

  • 2026/01
  • 2025/12
  • 2025/11
  • 2025/10
  • 2025/09
  • 2025/08
  • /00

以前のカテゴリー一覧

  • CakePHP3
  • CentOS7
  • HTML・CSS・JavaScript
  • Haskell
  • JavaScript
  • Kotlin
  • Laravel5
  • PHP
  • Python
  • Ruby
  • RubyOnRails5
  • TypeScript
  • Vue.js
  • Webサーバ講座
  • Webプログラミング講座
  • jQuery
  • linux
  • パソコン講座
  • ブログ
  • プログラミング講座
  • メモ帳作成講座
  • 数学

Copyright © 9cubed. All Rights Reserved.

プライバシーポリシー 利用規約
▲