DEV Community

Andrey for JetRockets

Posted on • Updated on • Originally published at

Git switch command

A switch command has been added in the new version of git
Let's look at examples:

# switched to <branch>
git switch <branch>

# creates a new <branch>
git switch -c <branch>

# switched to commit 
git switch -d <commit> 

# creates and switches to branch from remote. 
# need to use if branch exists in multiple remotes 
git switch -c <branch> --track <remote>/<branch> 

# switch to a branch even if the index or working tree is different from HEAD
# this is used to throw away local changes
git switch --discard-changes <branch>

# alias for  --discard-changes
git switch -f <branch> 

# switch back to the previous branch before we switched
git switch - 

Command available on version Git 2.23.0 or higher

Top comments (4)

jessekphillips profile image
Jesse Phillips

OK, then if I do

git switch -d <commit> -c <branch>

It should work as expected, right?

m0rozov profile image

No, options -d cannot be used with a -c

jessekphillips profile image
Jesse Phillips

Sad, hard to beat

git checkout -b <branch> <commit>

Thread Thread
m0rozov profile image

U can use

git switch -c <branch> <commit>