一覧へ

Gitブランチとマージ — 共同作業の基本

Gitブランチの概念、作成と切り替え、マージ方法、コンフリクトの解決、そしてPRベースの共同作業の流れを説明します。

入門
|
5
|
検証済み (2026-07)
進捗0/55 (0%)

Git ブランチとマージ — 共同作業の基本

このトピックを終えると

ブランチがなぜ必要か、どのように作成およびマージするか、そしてどのように競合を解決するかを理解できるようになります。


ブランチがない場合

チームメンバー3人が同じコードを同時に修正します。Aがログインを作成し、Bが決済を作成し、Cがバグを修正します。コードをマージするたびに競合が発生し、誰が何を修正したかを追跡するのが難しくなります。

ブランチは、コードの独立した作業スペースです。それぞれがブランチで作業し、完了したらマージします。


ブランチの作成と切り替え

bash
# ブランチリストの確認
git branch
# 新しいブランチの作成
git branch feature/login
# ブランチの切り替え
git checkout feature/login
# 作成と同時に切り替え(一度に)
git checkout -b feature/login

main(またはmaster)はデフォルトのブランチです。新しい機能を作成するときはブランチを作成し、完了したらmainにマージします。


作業とコミット

bash
# feature/loginブランチで作業
git add login.js
git commit -m "feat: add login form"
git add auth.js
git commit -m "feat: add authentication logic"

これらのコミットはfeature/loginブランチにのみ存在します。mainブランチには影響しません。


マージ:結合

bash
# mainに戻る
git checkout main
# feature/loginをmainにマージ
git merge feature/login

feature/loginのコミットがmainにマージされます。競合がない場合は自動的に完了します。


競合の解決

同じファイルの同じ部分を2つのブランチで修正した場合、競合が発生します。

text
<<<<<<< HEAD
const greeting = "Hello";
=======
const greeting = "Hi";
>>>>>>> feature/login

<<<<<<<>>>>>>>の間の内容を確認し、必要なコードのみを残します。

javascript
const greeting = "Hi";

修正後、コミットします。

bash
git add greeting.js
git commit -m "fix: resolve merge conflict"

プルリクエスト(PR)

実務では、git mergeをローカルで直接行いません。プルリクエストを通じてマージします。

  1. ブランチで作業し、プッシュする
  2. GitHub/GitLabでPRを作成する
  3. チームメンバーがコードレビューを行う
  4. 承認されるとマージ

PRは、「このコードをmainにマージしてもよろしいでしょうか?」とリクエストすることです。コードレビューが行われるため、バグが減少し、チームメンバーがコードの変更を把握できます。


ブランチ名の規則

text
feature/login        — 新しい機能
fix/cart-bug         — バグ修正
refactor/auth        — リファクタリング
docs/readme-update   — ドキュメント

種類/説明の形式が一般的です。チームによって規則が異なるため、プロジェクトの規則に従ってください。


重要なポイント

ブランチはコードの独立した作業スペースであり、完了したらマージで結合します。 同じ部分を修正すると競合が発生し、手動で解決する必要があります。 実務ではプルリクエストを通じてコードレビューを行った後、マージします。

💬 質問・コメント

0件のコメント

ログインせずに投稿できます。ゲスト投稿は投稿者自身で編集・削除できません。

0/2000

読み込み中...