How to quickly change your branch in Git

As the Editor-in-Chief of TheServerSide, I monitor the search terms that drive readers to the site. One search term that makes me wonder is “git branch change.” This interests me because there are several reasons people could be searching for this topic and come here.

Meaning of ‘git branch change’

If the “git branch change” search term brought you to this site, you are likely interested in one of the following two topics:

  1. How do you change and switch between Git branches?
  2. How to you change and rename a Git branch?

I’ve written full tutorials on each of those ‘git branch change’ topics, each of which is linked in the numbered list above. But here’s the tl;dr response for each of them.

How to change Git branches

To change a git branch name, you simply switch or checkout the branch of interest and issue the following command:

[email protected]  /c/git/github (hotflex)
$ git branch -m hotfix

[email protected]  /c/git/github (hotfix) 
$ git branch -a
* hotfix

Keep in mind that this only performs a local Git branch change. Further steps are required to push the name change to GitHub or GitLab and share the Git branch change with fellow developers.

How to switch between Git branches

Alternatively, a developer who queried “git branch change” may be uninterested in a renaming. Instead, she or he wants to better understand the command to change between Git branches in their local dev environment.

To change Git branches, developers can use either the checkout or switch command. The modern preference is to use git switch. Git switch replaced checkout in a 2020 release, although both commands are still supported.

Git Branch Change

The ability for users to work in isolated branches, and change Git branches when needed, helps simplify distributed version control.

Change Git branches switch command

To change the current Git branch, first list the branches, and then provide the name of the branch of interest to the switch command. In the following example, the user starts on the hotfix branch and then does a git branch change to get on the release branch:

[email protected]  /c/git/github (hotfix) 
$ git branch -a 
* hotfix

[email protected]  /c/git/github (hotfix)
$ git branch release

[email protected]  /c/git/github (release)
$ git status

Whichever path your “git branch change” query takes, be it to switch between branches or rename one, Git makes it relatively easy to perform any of these required functionalities.