0
0

はじめに

こんにちは、H×Hのセンリツ大好きエンジニアです。(同担OKです😉)
「新しいブランチを作成し、現在のブランチを新しいブランチに切り替える」という動作を行いたい場合、git checkout -b <new branch>git switch -c <new branch>があると思います。

。。。これってどう使い分ければいいの?って思ったので調べました🤔

git checkoutとは

ブランチの切り替えもありますが、ブランチの切り替え以外にも多くの用途があるコマンドです。

  1. ブランチの切り替え
git checkout <branch name>
  1. コミットやタグの切り替え
git checkout <commit-hash> or <tag>
  1. ファイルの復元
git checkout -- <file>

大体こんなもんかなと思います。
checkoutって言っても、何をするのか具体的な挙動って想像しにくいですよね😮‍💨

それと同じ話が挙がった故に、後述するgit switchと作業ディレクトリの変更を元に戻すためのコマンドであるgit restoreが誕生しました!

git switch

git switchコマンドは、ブランチの切り替えに特化したコマンドです。
git checkoutのブランチ切り替え機能を簡潔にしたものになります。

用途としては、先ほど冒頭で出したようなブランチの切り替えメインです。

  1. ブランチの切り替え
git switch <branch name>

これのみです。🫣
出来ることがシンプルなので、分かりやすいですね!

使い分け

「ブランチの切り替え」を行う時にはもうgit switchでいいんじゃないかなと思います!👍
その方が意図が分かりやすいので。

それ以外、例えば「特定のコミットの状態に戻す」や「ファイルを復元する」と言った処理ではgit switchは使えませんので、git checkoutになるかな〜と。

ただ、状態を戻すという処理はgit restoreというコマンドで行えるので実際の所git checkoutは多用すべきでは無い気がしています。

これからは、git switch と git restore を使おう!

おわりに

普段何気なく使っていた両者の違いについて触れてみました。
git checkoutのように、色々なことが出来てしまうとミスが起こりやすいので、なるべくは決められた動作しか出来ないものを使った方が安全ですね😎

最後までご覧いただきありがとうございました!
以上、センリツでした。🤓

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0