Git コース
1 2 3 4
ブランチ運用の実践 | Git レッスン5
⏱ 約25分 やってみよう 1 クイズ 1
🎯 このレッスンで学ぶこと
- ブランチの命名規則(feature/, fix/ など)を使い分けられます。
- git switch でブランチを切り替えられます。
- 不要なブランチを削除できます。
- 「main は常に動く状態」のルールを理解できます。
📖 復習 — ブランチの基本をおさらい
git checkout -b ブランチ名でブランチを作成・切り替えできるgit merge ブランチ名で変更を統合できる- Pull Request でチームメンバーにレビューしてもらう
今回はブランチをもっと実践的に使いこなす方法を学びます。
📝 1. ブランチの命名規則
チーム開発では、ブランチ名を見ただけで「何のための作業か」がわかるように命名規則を使います。
| プレフィックス | 用途 | 例 |
|---|---|---|
feature/ | 新機能の追加 | feature/add-login |
fix/ | バグの修正 | fix/header-layout |
docs/ | ドキュメントの修正 | docs/update-readme |
良い例・悪い例:
| ✅ 良い例 | ❌ 悪い例 | 理由 |
|---|---|---|
feature/add-contact-form | new-branch | 何の作業かわからない |
fix/login-error | branch1 | 番号だけでは意味不明 |
docs/add-setup-guide | 田中の作業 | 日本語・スペースはNG |
⚠️ なぜ日本語・スペースがNGか?
ターミナルで日本語やスペースを含むブランチ名を使うと、エスケープが必要になりコマンドが複雑になります。半角英数字とハイフン・スラッシュだけを使いましょう。
ターミナルで日本語やスペースを含むブランチ名を使うと、エスケープが必要になりコマンドが複雑になります。半角英数字とハイフン・スラッシュだけを使いましょう。
🔀 2. git switch — 新しい切り替えコマンド
git switch はブランチの切り替え専用コマンドです。git checkout より安全で分かりやすいです。
# ブランチを切り替える
git switch main
# 新しいブランチを作成して切り替える(-c = create)
git switch -c feature/add-login
# 全ブランチを一覧表示(今いるブランチに * がつく)
git branch -a ターミナル出力例:
$ git switch -c feature/add-login
Switched to a new branch 'feature/add-login'
$ git branch
main
* feature/add-login
💡 switch と checkout の違い:
git checkout はブランチ切り替え以外にも「ファイルの復元」にも使えるため、間違えやすいという問題がありました。git switch はブランチ切り替え専用なので安全です。どちらを使ってもOKですが、新しいプロジェクトでは switch がおすすめです。
⚠️ ブランチを切り替える前にコミットしよう!
変更をコミットせずにブランチを切り替えると、変更が別のブランチに持ち越されてしまいます。切り替え前に
変更をコミットせずにブランチを切り替えると、変更が別のブランチに持ち越されてしまいます。切り替え前に
git status で確認する習慣をつけましょう。
🗑️ 3. ブランチの削除
マージが完了したブランチは削除して整理しましょう。
# マージ済みのブランチを削除(安全)
git branch -d feature/add-login
# 未マージでも強制削除(注意!)
git branch -D feature/experiment | オプション | 動作 | 安全性 |
|---|---|---|
-d | マージ済みのブランチのみ削除 | ✅ 安全(未マージだとエラーで教えてくれる) |
-D | 強制削除(未マージでも消える) | ⚠️ 注意(変更が失われる可能性あり) |
⚠️ -d で削除できないとき:
「error: The branch is not fully merged」と表示されたら、まだマージしていない変更があります。本当に不要なら
「error: The branch is not fully merged」と表示されたら、まだマージしていない変更があります。本当に不要なら
-D で強制削除できますが、まずマージし忘れがないか確認しましょう。
🌊 4. ブランチ運用のルール
チーム開発で守るべき3つのルールです。
- ① main は常に動く状態を保つ — main ブランチは「いつでも正常に動くコード」だけを置く場所。壊れたコードを直接 main に入れない
- ② 1つの機能 = 1つのブランチ — 「ログイン機能」と「デザイン変更」を同じブランチで作業しない。分けることでレビューしやすくなる
- ③ 小さく分けてこまめにコミット — 大きな変更を一気にコミットせず、小さな単位で記録する。問題が起きたとき戻しやすい
💡 git branch で今どのブランチにいるか確認する習慣をつけよう。
「main にいるつもりで作業していたら、別のブランチだった…」というミスを防げます。
「main にいるつもりで作業していたら、別のブランチだった…」というミスを防げます。
❌ 悪い例 — 1つのブランチに複数の作業を混ぜた場合:
$ git log --oneline
a3f2c1d ヘッダーのデザイン変更
b4e1d2a ログイン機能を追加
c5f3e4b フッターの色を修正
d6a4f5c READMEを更新 ↑ 何の機能のブランチかわからない。レビューも大変になります。
💻 やってみよう!
以下の手順で、ブランチの作成→作業→マージ→削除の一連の流れを体験しましょう。
- 既存のリポジトリで main ブランチにいることを確認
git branch - 新しいブランチを作成して切り替え
git switch -c feature/add-contact期待される出力:
$ git switch -c feature/add-contact Switched to a new branch 'feature/add-contact' - ファイルを追加してコミット
echo "お問い合わせページ" > contact.html git add contact.html git commit -m "お問い合わせページを追加"期待される出力:
$ git commit -m "お問い合わせページを追加" [feature/add-contact 1a2b3c4] お問い合わせページを追加 1 file changed, 1 insertion(+) create mode 100644 contact.html - main に戻ってマージ
git switch main git merge feature/add-contact - マージ済みブランチを削除
git branch -d feature/add-contact期待される出力:
$ git branch -d feature/add-contact Deleted branch feature/add-contact (was 1a2b3c4).
git log --oneline でコミット履歴を確認してみましょう!
⚠️ よくあるミス
- main にいるつもりで別ブランチだった — 作業前に
git branchで現在のブランチを確認しましょう。プロンプトにブランチ名を表示する設定もおすすめです。 - 日本語ブランチ名を使ってしまった —
git switch 田中の作業はエスケープが必要でエラーの原因に。必ず半角英数字で命名しましょう。 - コミットせずにブランチを切り替えた — 変更が別ブランチに持ち越されます。切り替え前に
git statusで未コミットの変更がないか確認しましょう。
🛠️ 差分を視覚的に確認するツールでブランチ間の変更を比較できます。
📌 まとめ
- ✅ ブランチ名は
feature/fix/docs/+ 内容がわかる名前 - ✅
git switch -c ブランチ名で作成+切り替え - ✅
git branch -d ブランチ名でマージ済みブランチを削除 - ✅ main は常に動く状態を保つ
- ✅ 1つの機能 = 1つのブランチで作業する
このレッスンは役に立ちましたか?
フィードバックありがとうございます!
目次
⚠️ よくあるエラー
- RangeError: Invalid array length — 配列の長さに不正な値を指定している
- TypeError: Cannot read properties of null(null参照) — nullのプロパティにアクセスしている
- SyntaxError: Invalid left-hand side in assignment — 代入できないものに代入しようとしている