git switch

I discovered a fun git command that I wasn't aware of before.

git switch -c <new-branch>

Using git switch, you can take existing, uncommitted files and move them to a new branch. Say you're working in the master branch and want to move those changes to a feature branch. Simple run this command:

git switch -c feature

Then add, commit, push like normal. That's it!

From the docs:

Switch to a specified branch. The working tree and the index are updated to match the branch. All new commits will be added to the tip of this branch.

Optionally a new branch could be created with either -c, -C, automatically from a remote branch of same name (see --guess), or detach the working tree from any branch with --detach, along with switching.

Switching branches does not require a clean index and working tree (i.e. no differences compared to HEAD). The operation is aborted however if the operation leads to loss of local changes, unless told otherwise with --discard-changes or --merge.

THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.

SOURCE

#git