🔖
git switch と git checkout の使い方と使い分け
はじめに
Gitを使っていると、
ブランチを切り替えるときに以下のようなコマンドを見かけます。
git checkout main
git switch main
「
checkout
とswitch
の違いがわからない」「どちらを使えばいいかわからない」
私自身、最初は 「どっちも同じなのでは?」 くらいの認識でした。
本記事では、
git switch
と git checkout
の違いと使い分けを解説します。
git checkout
とは
git checkout
はもともと以下の2つの操作に使われていました。
- ブランチの切り替え
- ファイルの変更を元に戻す
例:
git checkout main # ブランチmainに切り替え
git checkout -- README.md # README.md を元に戻す
一つのコマンドに 「ブランチ操作」と「ファイル操作」 が混ざっていたため、
「用途の切り分け」がわかりづらい側面がありました。
git switch
とは
git switch
は 「ブランチ操作専用のコマンド」 として、
Git 2.23 から新しく追加されました。
目的を1つに絞ることで、
「ブランチを切り替えたい」なら
switch
を使う
とわかりやすくなっています。
例:
git switch main # 既存ブランチに切り替え
git switch -c feature/new # 新しいブランチを作成して切り替え
git switch
と git checkout
の用途の違い
コマンド | 用途 |
---|---|
git checkout |
ブランチ切り替え・ファイル操作 |
git switch |
ブランチ切り替え専用 |
- ブランチだけ操作したいなら
switch
- ファイルの変更を戻したいときは
checkout
と覚えておくと良いです。
結論
結論:
ブランチ操作だけの場合、
これからGitを初めて触る方は git switch
を推奨
理由:
- 目的が明確でシンプル
- 誤操作が起きにくい
- 新しいGitバージョンであれば使用可能
ただし:
既存プロジェクトでは
checkout
を使っている人が多い
という場面もあるので、
チームで統一ルールがあれば従いましょう。
おわりに
Gitはコマンドが多く混乱しがちですが、
switch
を使えば「何のための操作か」を意識しやすくなります。
本記事が参考になれば幸いです。
Discussion