Git

The Git `git switch` command is a simple and safe way to switch to a specified branch.

git switch

 Gitの git switchコマンドは、ブランチの切り替えに特化したコマンドです。以前は git checkoutコマンドがブランチの切り替えとファイルのチェックアウトの両方に使われていましたが、これにより操作が混同されることがありました。Git 2.23.0以降では、これを改善するために git switchと git restoreという2つの新しいコマンドが導入されました。

基本的な使い方

Git Bash

git switch <branch-name>
このコマンドは、指定したブランチに切り替えるために使用されます。例えば、mainブランチに切り替えるには次のようにします。

Git Bash

git switch main
新しいブランチを作成して切り替える

Git Bash

git switch -c <new-branch-name>
このオプションは、新しいブランチを作成し、そのブランチに切り替えるために使用されます。例えば、新しいブランチ feature-branchを作成して切り替えるには次のようにします。

Git Bash

git switch -c feature-branch
リモートトラッキングブランチから新しいブランチを作成して切り替える

Git Bash

git switch -c <new-branch-name> --track <remote>/<branch-name>
例えば、リモートの originの developブランチを追跡する新しいブランチ new-featureを作成して切り替えるには次のようにします。

Git Bash

git switch -c new-feature --track origin/develop
切り替え時に現在の作業ツリーの変更を保持する

Git Bash

git switch --merge <branch-name>
このオプションは、現在の作業ツリーの変更を保持しつつ、指定したブランチに切り替えるために使用されます。変更が競合しない場合に便利です。
切り替え時に現在の作業ツリーの変更を中断する

Git Bash

git switch --discard-changes <branch-name>
このオプションは、現在の作業ツリーの変更を破棄してから指定したブランチに切り替えるために使用されます。変更を保持する必要がない場合に使用します。

具体例

ブランチ develop に切り替える。

Git Bash

git switch develop
新しいブランチ feature/login を作成して切り替える。

Git Bash

git switch -c feature/login
リモートの originリポジトリの feature/paymentブランチを追跡する新しいブランチ local-payment を作成して切り替える。

Git Bash

git switch -c local-payment --track origin/feature/payment
変更を保持してブランチ release に切り替える。

Git Bash

git switch --merge release

 git switchコマンドは、ブランチの管理をより直感的にし、作業の効率を高めるために設計されています。ブランチの切り替えに特化しているため、git checkoutコマンドよりも理解しやすく、誤操作が少なくなります。