GitHubalt03

枝分かれの作法|特別編 チームで使うブランチ戦略とPR運用

著者: 管理者 / 2025-08-25 (更新: 2025-08-25)

user01 Troubled
先生……。個人開発のときは `git push` で済んでいましたけれど、チームでは「Pull Request」を作るのが礼儀、と聞きましたの。
でも、なぜそんな回り道をする必要があるのかしら?
user02 Calm
良い質問ですね。Pull Request、通称 PR は「コードをみんなで確認してから取り込む仕組み」です。
“回り道”ではなく、“交通ルール”のようなものなのです。

📝 解説:PRの基本フロー

  1. 作業用ブランチを切る
git switch -c feature/login
  1. 実装して commit → push
git add .
git commit -m "feat: add login page"
git push -u origin feature/login
  1. GitHubで Pull Request を作成

    • base(取り込み先): main
    • compare(作業ブランチ): feature/login
  2. レビュー & 修正

    • コメントで指摘があれば修正し、再度 push
  3. マージ

    • Merge commit
    • Squash and merge
    • Rebase and merge

user01 Surprised
まあ!`push` してもすぐには main に入らないのですのね。
まずは「ここを取り込んで良いですか?」と皆さまにお願いする場が PR なのですわね🌸
user02 Happy
その通りです。PRは「相談の場」であり、「レビューの場」でもあります。

📝 解説:マージ方法の違い

  1. Merge commit
    • そのまま合流。履歴は分岐の形を保つ。
    • チームで「どんな枝があったか」を残したいときに便利。
  2. Squash and merge
    • 複数のコミットをまとめて1つに。
    • 履歴がすっきりするが、細かい途中経過は消える。
  3. Rebase and merge
    • 作業ブランチを main の末尾に積み直してからマージ。
    • 履歴が直線的になるが、共有後に rebase するのは慎重さが必要。

user01 Happy
まあ!`Squash and merge` は“おまとめセール”のようですわね🛍️
user02 Calm
ふふ、その比喩は面白いですね。はい、まとめ買いして領収書は1枚――そんな感覚です。
一方で「細かい作業ログを残したいとき」は `Merge commit` が適しています。

📝 解説:PRのマナー

  • 説明欄には「何を」「なぜ」を書く
    例:
## What
- ログインページを追加しました
- 入力フォームとバリデーションを実装

## Why
- ユーザー認証が必要になったため
  • 小さな単位でPRを出す
    → レビューがしやすく、修正も楽。

  • ドラフトPRを使う
    → 作業途中でも「相談したい」ときに便利。

  • レビューコメントには感謝を添える
    → 「修正しました、ありがとうございます!」は信頼を育てます。


user01 Calm
なるほど……PRは単なる技術的な操作ではなく、チームの会話の場でもあるのですのね💡
レビューを受けるのが少し緊張いたしますけれど、マナーを守れば安心ですわ😊
user02 Happy
そうです。PRはコードの安全確認だけでなく、知識を共有する場でもあります。
レビューを通じて「この書き方のほうが良い」という学びが広がるのです。

📝 解説:ブランチ戦略の代表例

  1. GitHub Flow(シンプル)

    • main 一本
    • 機能ごとに短期の feature/* ブランチを作って PR
    • 小規模チームに向いている
  2. Git Flow(大規模)

    • main(本番用)、develop(開発用)、feature/*release/*hotfix/*
    • 大規模プロジェクトやリリース管理が重要な場合に向いている
  3. Trunk-Based Development

    • 常に main に近い状態を保ち、短期間でマージする
    • CI/CD(自動テスト&デプロイ)と相性が良い

user01 Surprised
まあ!チームの大きさや文化によって、枝の切り方まで変わるのですのね🌳
わたくしのサロンなら、GitHub Flow がちょうど良さそうですわ✨
user02 Calm
ええ、まずは GitHub Flow で十分です。シンプルで学びやすいですから。
慣れてきたら Git Flow や Trunk-Based を試すのも良いでしょう。

📝 まとめ

  • PRは「相談の場」「レビューの場」であり、main に直接 push する代わりの仕組み。
  • マージ方法は Merge commit / Squash / Rebase を場面で使い分ける。
  • PRには「何を」「なぜ」を明記し、レビューをしやすくするのがマナー。
  • ブランチ戦略はチームの規模や文化に合わせて選択する。

user01 Happy
先生、本日もとても勉強になりましたわ!
PRを怖がらずに、“みんなで育てる物語”だと思って取り組んでまいります📚✨
user02 Calm
素晴らしい心構えです。次回は、CI/CDやGitHub Actionsを使って「自動化の世界」へと進みましょう。

こちらの記事もどうぞ みんなで作るコードの宝箱|第1回 GitHub入門みんなで作るコードの宝箱|第1回 GitHub入門 歴史を操る力|第2回 Gitのバージョン管理とは?歴史を操る力|第2回 Gitのバージョン管理とは?