Gitのswitchコマンドを使ってみた

はじめに

この記事では、「Gitのswitchコマンド」について書いています。

Gitにはたくさんのコマンドがあり、また自分は普段TortoiseGitを使っていて全然コマンドを覚えてないので、ちゃんと自分でコマンドを試しながら学んでみるべく記事にしました。

自分に向けた備忘録でもありますが、「Gitのコマンドにまだ習熟してない人」や「Gitのresetコマンドがどういうものか知りたい」な人の一助になれば嬉しいです。

要点だけ

  • switchコマンドはブランチの切り替えを専用に行うコマンドです。
  • checkoutコマンドの代替としてGit 2.23から導入されました。
  • git switch <ブランチ名>で作業ブランチを切り替えます。

前提(環境)

以下の環境、フォルダ構成で実験をしていきます。

switchコマンドが生まれた背景

switchコマンドは、ブランチの切り替えを行うコマンドで、Gitのswitchコマンドは、バージョン2.23でリリースされた、新しいコマンドです。

ブランチの切り替えは元々checkoutコマンドで出来てましたが、このcheckoutはブランチの切り替え以外にも多くの機能を持っていたため、機能を切り出してブランチの切り替えのみが出来るコマンドとしてリリースされたそうです。

こういう背景を考えると、そのうちcheckoutコマンドはなくなるかも分かりませんのでswitchコマンドでブランチの切り替えを行うように今から慣れておくのが良いかもしれません(ただし、switchコマンドはまだ実験的機能のようなので注意が必要ですが)

ちなみに、switch以外にもrestoreコマンド(ファイルの変更を行う)も似たような目的で同じバージョンからリリースがされています。

switchコマンドの基本的な使い方

以下のように記述すると、作業ブランチを切り替えられます。

git switch <ブランチ名>

実際に確認してみましょう。今、あるリポジトリでブランチが以下の通り2種類存在し、今の作業ブランチはmasterだとします。

  • master
  • develop

この状況でまずgit branchのコマンドを実行してみると以下のように出力されます。

* master
  develop

次に、

git switch develop

と実行すると、以下のようにブランチが切り替わった旨が出力されます。

Switched to branch 'develop'
Your branch is up to date with 'origin/develop'.

再びgit branchとして状況を確認してみると、ちゃんとブランチが切り替わっていることがわかります。

  master
* topic_a

おわりに

「Gitのswitchコマンド」について解説しました。

機能が少ないと間違った操作の可能性も少なくなるし、名称も、切り替えに使うコマンドがswitchという方が個人的に分かりやすくて良いと感じます。

switchコマンドにはいくつかのオプションが存在しますが、そちらもいつか試してみたいと思います。

さいごに、記事を書く上で参考にしたサイトのリンクを以下に掲載します。合わせて読んでいただくと良いかと思います。

zenn.dev

snowsystem.net