I discovered a fun git command that I wasn't aware of before.
git switch -c <new-branch>
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.