
Switch to a new branch with unstaged changes
You can switch your current HEAD branch with the switch
command. It's new (introduced in Git v2.23) and offers a more straightforward alternative to the classic checkout command. The switch
command is a simple replacement for checkout
and it serves a very specific and limited purpose: branch switching and creation!
Changing branches before switch
was available required using the checkout
command, but if you had unstaged changes on the current branch, you had to stash the changes first, switch to a new branch, and then apply the stash to that branch. That's fine; it works, but switch
allows you to perform all of these tasks with a single command.
If you are on the main
branch and you want to switch to branch-B
you can simply run the following command:
1git switch branch-B
The specified branch will become the new HEAD
branch as a result of this. However, you can use the -c
parameter to create a new local branch and switch to the newly created branch and have all of the unstaged changes in your new branch:
1git switch -c your-new-branch
For more details about how you can use the switch command, visit the official Git documentation.

Comments

Marian Pop
marian@laravelmagazine.comPHP / Laravel Developer. Writing and maintaining @LaravelMagazine. Host of "The Laravel Magazine Podcast". Pronouns: vi/vim.