Gitの新しいコマンドのswitchとrestoreに慣れたい

しばらく前にGitの新しいバージョンがリリースされ、そこで git switchgit restore なるコマンドが使えるようになったことは知っていました。
しかし、これまでの慣れというものがあり、どうしても git checkout を使ってしまっていました。

先日、ふと新しい環境(つまり新しいGit)を操作していて、 git status を打つと以下のように表示されました。

$ git status
On branch hoge-branch
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)

git restore <file>... と表示されています。
古いバージョンだと git checkout -- <file>... だったはずです。

これを見た瞬間にいつまでも git checkout だけを使っていたらダメだなと思い、使い方を調べた次第です。
ただ、switchもrestoreも THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE. らしいので、注意は必要そうです。

git switch

git-scm.com

ブランチを切り替えるためのコマンドです。

旧: git checkout another-branch
新: git switch another-branch

めちゃくちゃわかりやすい名前になっていると思います。
なぜ最初からこうじゃないのか。

新規でブランチを作ってそのままそのブランチに切り替えることもできます。

旧: git checkout -b new-branch
新: git switch -c new-branch

これまで、 git checkoutgit cgit checkout mastergit cmgit checkout -bgit cb になるようにエイリアスを設定していました。
これを機に、 git sエイリアスを張りたいところですが、switchのsがstatusのsとかぶって微妙につらいところです。

git restore

git-scm.com

変更を復元するためのコマンドです。

旧: git checkout README.md
新: git restore README.md

ステージングにインデックスされた状態からadd前に戻すためには以下のようにします。

旧: git reset HEAD README.md
新: git restore --staged README.md

変更をなかったことにするのは git resrote でわかりやすい気がしますが、addを取り消すのは git reset のままの方がなんとなく好きです。
文句を言っても仕方ないのですが。