これまで git checkout
を使っていたのですが、職場で git switch / git restore
について会話する機会があり、遅ればせながら乗り換えようかなと思いました。
※ docs に THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
と書かれているため、将来的に変わる可能性があります。
git switch / git restore の概要
git checkout のdocs に Switch branches or restore working tree files
と書かれている通り、これまで git checkout
が担っていた役割は switch(切り替え)
と restore(復元)
に分割されます。このそれぞれの役割を担うのが git switch
と git restore
です。
git switch
git switch はブランチの切り替えに利用します。
// 切り替え $ git checkout feature/xxx // 新しいブランチを作成して切り替え $ git checkout -b feature/xxx
と書いていたのが
// 切り替え $ git switch feature/xxx // 新しいブランチを作成して切り替え $ git switch -c feature/xxx
となります。
git restore
git restore はワーキングツリーの復元に利用します。
// ワークツリーの変更を取り消す $ git checkout HEAD . // 特定のコミットに戻す $ git checkout commit_hash
と書いていたのが
// ワークツリーの変更を取り消す $ git restore // 特定のコミットに戻す git restore --source commit_hash
となります。
最後に
blog.inductor.me この方が書かれている表が分かりやすかったです。
正直 restore系のコマンドはあんまり使ったことがなかったのですが、これを機に使っていこうと思います。では、良い git life を。