ブランチを切り替える- git switch
ブランチを切り替えます。checkoutより安全な代替コマンドです。
概念図
構文
git switch <branch>使用例
mainブランチに切り替え
git switch main新しいブランチを作成して切り替え
git switch -c feature/new概要:checkout の後継コマンド
git checkout はブランチ切り替えとファイル復元の両方を担っていたため、誤操作のリスクがありました。
git switch はブランチ操作に限定されているため、意図しないファイルの変更を防ぐことができます。
初心者の方には git switch の使用をおすすめします。
コマンドの意図が明確で、間違った操作をしにくい設計になっています。
多くの入門書やチュートリアルでも、新しいプロジェクトでは git switch の使用が推奨されています。
checkout との違い
git checkout -b→git 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で一時保存してから切り替えてください。
