Great overview of the changes in Git 2.23, care of Taylor Blau on the GitHub.com blog:
Git 2.23 brings a new pair of experimental commands to the suite of existing ones:
git restore. These two are meant to eventually provide a better interface for the well-known
git checkout. The new commands intend to each have a clear separation, neatly divvying up what the many responsibilities of git checkout, as we’ll show below.
The perennially overloaded
git checkout command is a notable piece of
difficult CLI in an already challenging suite. I can easily imagine myself tripping over
the old flags, though, as in the comparable
git checkout -b and
switch -c commands for immediately creating and checking out a branch. Because
git checkout is used in so many different contexts, it’s its flags and
argument patterns that are most memorable to those who use Git every day.