git checkout -b オプション

📝 問題の再掲

Q26: git checkout ___ feature-about — ブランチを新しく作って切り替えるオプションは?

正答: -b

⚠️ よくある間違い

「ブランチ作成」と「ブランチ切り替え」が別の操作であることを理解していないと、-b をつけ忘れたり、既存ブランチに -b をつけてエラーになったりします。

📖 段階的な説明

ステップ1:2つの操作を分解する

  • git branch feature — ブランチを作る(切り替えない)
  • git checkout feature — ブランチに切り替える(作らない)

ステップ2:-b は2つを同時に行う

git checkout -b feature = 「作る + 切り替える」を1コマンドで。b は branch の b です。

ステップ3:使い分け

  • 新しいブランチを作りたい → git checkout -b ブランチ名
  • 既存のブランチに移動したい → git checkout ブランチ名(-b なし)

💻 コード例

# 新しいブランチを作って切り替え(よく使う)
git checkout -b feature-login

# 上のコマンドは以下の2つと同じ意味
git branch feature-login
git checkout feature-login

# 既存のブランチに切り替え(-b 不要)
git checkout main

# ❌ 既存ブランチに -b をつけるとエラー
git checkout -b main
# → fatal: A branch named 'main' already exists.

# 新しいコマンド git switch でも同じことができる
git switch -c feature-login  # -c = create(作成)
git switch main              # 切り替えのみ

🔗 関連知識

  • git switch は checkout の新しい代替コマンドです。-c(create)オプションで新規作成できます
  • git branch(引数なし)で現在のブランチ一覧を確認できます

✅ 確認問題

Q: 既存の develop ブランチに切り替えたい。正しいコマンドはどれ?

A: git checkout -b develop / B: git checkout develop

答えを見る

B。既存ブランチへの切り替えは -b 不要です。A は「develop という新しいブランチを作る」コマンドなので、既に存在する場合はエラーになります。

← ドリルに戻る