Git 2.23 introduces a new command git switch -- after reading the docs, it seems pretty much the same as git checkout <branchname> can someone explain the difference or use case?
Two new
checkout is one of the most confusing commands for new comers. This Stackoverflow explains how it can be replaced with switch and restore.
git switch can now be used to change branches, as git checkout <branchname> does
git restore can be used to reset files to certain revisions, as git checkout -- <path_to_file> does
They're interchangeable for branches. Checkout works with arbitrary refs like commit hashes and tags as well. For these, switch needs the --detach flag. You can also use it to create a new branch from the current commit with ’git switch -c $branch_name’.