Git Ready
ブランチを切り替える - git switch の使い方・オプション・サンプル

ブランチを切り替える- git switch

ブランチを切り替えます。checkoutより安全な代替コマンドです。

概念図

git switch diagram

構文

bash
git switch <branch>

使用例

mainブランチに切り替え

bash
git switch main

新しいブランチを作成して切り替え

bash
git switch -c feature/new

概要:checkout の後継コマンド

git checkout はブランチ切り替えとファイル復元の両方を担っていたため、誤操作のリスクがありました。

git switch はブランチ操作に限定されているため、意図しないファイルの変更を防ぐことができます。

初心者の方には git switch の使用をおすすめします。

コマンドの意図が明確で、間違った操作をしにくい設計になっています。

多くの入門書やチュートリアルでも、新しいプロジェクトでは git switch の使用が推奨されています。

checkout との違い

  • git checkout -bgit switch -c

    新ブランチ作成+切り替えは -c に変わりました。

  • git checkout <branch>git switch <branch>

    そのままの置き換えで動きます。

  • ファイル復元は git restore

    git checkout -- <file> のようなファイル復元は git switch では行えません。代わりに git restore を使用します。

  • コミットハッシュの直接指定は禁止

    --detach オプションなしで直接コミットハッシュを指定するとエラーになります。これは意図しない detached HEAD 状態を防ぐための安全機能です。

注意点

  • 未コミット変更があると切り替えを拒否する場合がある

    git switch は未コミットの変更がある状態でブランチを切り替えようとすると、変更が失われる可能性がある場合にエラーを出して保護してくれます。この場合は、変更をコミットするか git stash で一時保存してから切り替えてください。

関連コマンド