gitのブランチ切り替えはgit switchを使う方がいいかも

沖縄チームのキリです。普段バージョン管理ツールにgitを利用しています。これまでブランチ切り替えはgit checkoutというコマンドを実行していました(あるいはVSCodeの拡張機能からUIにてブランチ切り替えを行っています)。きっかけは忘れてしまいましたが、git switchというコマンドが追加されていることに気が付きました。

結論

git checkoutは多機能ゆえ、目的が明確化されたgit switchが適切である。
(ただし2024年7月現在では実験的機能のため動作が変更になる可能性あり)

比較

# ブランチの切り替え
git checkout <branch>
git switch <branch>

# ブランチを作成して切り替え
git checkout -b <branch>
git switch -c <branch>

git switchコマンド追加の理由

もともと、ブランチの切り替えにはgit checkoutコマンドを使用していました。ただしcheckoutコマンドはブランチ切り替え以外にもファイルの復元や変更の取り消しなど、多くのことを実現できました。機能が多いことはメリットでもありますが、コマンド名から機能を推測しにくく、誤操作による事故を起こしやすいというデメリットもありました。そこでgit checkoutコマンドの機能を、ブランチ操作とファイル操作それぞれの役割に分割する目的でgit switchコマンドとgit restoreコマンドがgit v2.23から追加されました。

参考

https://qiita.com/RINYU_DRVO/items/958e0723178f88da8101

https://snowsystem.net/git/git-command/git-switch/amp