# 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](https://git-scm.com/docs/git-switch)
