こんにちは tanakaです。
みなさん当然のことながらgitは使っていると思います。
その最新バージョンである2.23より git switch と git restore の2コマンドが追加されました!

これは
Experimental alternatives for git checkout
と記載されている通り、
git checkout の2つの機能を分離したものになります。
(実験的な追加らしいのでコマンドが変更になる可能性もあるのでご注意を)
①switch
これはbranchを切り替える機能です。
git checkout の「branch名を渡すとそのbranchに切り替える機能」に対応しています。
1つ注意するところとしてはbranch作成も同時に行う場合は git checkout -b branch_name upstream_name としていましたが、
そのオプションが git switch -c branch_name upstream_name と変わったところです。
②restore
これはファイルの変更を戻す機能です。
git checkout の「ファイル名やディレクトリ名を渡すとそこに含まれるファイルの変更を戻す機能」に対応しています。
よく使う --ours や --theirs も使えるみたいです。
以上が簡単な紹介ですが、私はこれを本当に望んでいたんですよね。 だって同じコマンドなのに渡せる値にbranch名とファイル名の2種類があるなんて 関数の引数に渡せる型が2種類あるようなものじゃないですか。 死ぬほど気持ち悪くないですか???
というわけで、みなさんもこれからは switch と restore を積極的に使っていきましょう。