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コマンドよりも理解しやすく、誤操作が少なくなります。