Git

Gitブランチ戦略入門|効率的なチーム開発のためのブランチ運用

Git ブランチ マージ

Gitブランチ戦略入門
効率的なチーム開発のためのブランチ運用

Gitのブランチ機能を活用すれば、本番環境に影響を与えずに新機能の開発やバグ修正ができます。
この記事では、ブランチの基本操作からチーム開発でよく使うブランチ戦略まで解説します。

こんな人向けの記事です

  • Gitのブランチの使い方を知りたい
  • チーム開発でのブランチ戦略を理解したい
  • マージとリベースの違いを知りたい

Step 1ブランチの基本操作

ターミナル
# ブランチ一覧を表示
git branch

# 新しいブランチを作成
git branch feature/login

# ブランチに切り替え
git checkout feature/login

# 作成と切り替えを同時に
git checkout -b feature/login

# Git 2.23以降はswitchが推奨
git switch -c feature/login

# ブランチを削除
git branch -d feature/login

# リモートブランチ一覧
git branch -r
ブランチ名の慣例
feature/ログイン機能 → 新機能
fix/バグ名 → バグ修正
hotfix/緊急修正 → 本番の緊急修正
release/v1.0 → リリース準備

Step 2マージの基本

ターミナル
# mainブランチに切り替え
git switch main

# feature/loginをmainにマージ
git merge feature/login

# マージ後、不要なブランチを削除
git branch -d feature/login

Step 3コンフリクトの解消

同じファイルの同じ箇所を別々のブランチで編集すると、マージ時にコンフリクト(競合)が発生します。

コンフリクトが発生したファイル
<<<<<<< HEAD
mainブランチの内容
=======
feature/loginブランチの内容
>>>>>>> feature/login
ターミナル
# 1. コンフリクト箇所を手動で修正
# 2. 修正したファイルをステージ
git add 修正したファイル

# 3. マージコミット
git commit
コンフリクトマーカーの消し忘れに注意
<<<<<<<=======>>>>>>> のマーカーは全て削除してから保存してください。
マーカーが残ったままコミットするとバグの原因になります。

Step 4マージとリベースの違い

マージ(merge)リベース(rebase)
履歴マージコミットが作られる直線的な履歴になる
安全性高い(元の履歴が残る)注意が必要(履歴が書き換わる)
使いどころ共有ブランチ個人ブランチの整理
ターミナル
# featureブランチでmainの最新を取り込む
git switch feature/login
git rebase main

# コンフリクトがあれば解消して
git add .
git rebase --continue
push済みのブランチをリベースしない
他の人が使っているブランチをリベースすると、履歴の整合性が取れなくなります。
リベースはローカルのまだpushしていないブランチに限定してください。

Step 5ブランチ戦略:Git Flow

ブランチ役割マージ先
main本番リリース済みのコード
develop開発の統合ブランチmain
feature/*新機能開発develop
release/*リリース準備main + develop
hotfix/*本番の緊急修正main + develop

Step 6ブランチ戦略:GitHub Flow

Git Flowよりシンプルで、小規模チームやWebアプリの継続的デリバリーに向いています。

ステップ操作
1mainからブランチを作成
2ブランチで開発・コミット
3Pull Request(PR)を作成
4コードレビュー
5mainにマージ → 自動デプロイ

まとめ

  • git switch -c ブランチ名 で新ブランチ作成・切替
  • git merge で別ブランチの変更を取り込む
  • コンフリクトは手動で解消して git addgit commit
  • リベースはローカル限定で使用(push済みブランチはNG)
  • Git Flow(大規模)or GitHub Flow(小規模)をチームに合わせて選択