🔖

git switch と git checkout の使い方と使い分け

に公開

はじめに

Gitを使っていると、
ブランチを切り替えるときに以下のようなコマンドを見かけます。

git checkout main
git switch main

checkoutswitch の違いがわからない」「どちらを使えばいいかわからない」

私自身、最初は 「どっちも同じなのでは?」 くらいの認識でした。

本記事では、
git switchgit checkout の違いと使い分けを解説します。

git checkout とは

git checkout はもともと以下の2つの操作に使われていました。

  1. ブランチの切り替え
  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 switchgit checkout の用途の違い

コマンド 用途
git checkout ブランチ切り替え・ファイル操作
git switch ブランチ切り替え専用
  • ブランチだけ操作したいなら switch
  • ファイルの変更を戻したいときは checkout
    と覚えておくと良いです。

結論

結論:
ブランチ操作だけの場合、
これからGitを初めて触る方は git switch を推奨

理由:

  • 目的が明確でシンプル
  • 誤操作が起きにくい
  • 新しいGitバージョンであれば使用可能

ただし:

既存プロジェクトでは checkout を使っている人が多い
という場面もあるので、
チームで統一ルールがあれば従いましょう。

おわりに

Gitはコマンドが多く混乱しがちですが、
switch を使えば「何のための操作か」を意識しやすくなります。

本記事が参考になれば幸いです。

Discussion