Under the hood
Branch checkout git commands now add a trailing -- to prevent branch names being misread as options
What
Git checkout commands run internally, including plain checkout, checkout with a new branch tracking a remote, and checkout tracking a remote branch, now append a trailing -- argument.
Why
The -- tells git that everything after it is a file or branch name, not an option flag. This prevents a branch name that happens to look like a flag (for example, one starting with a dash) from being misinterpreted as a git option.