How to list branches in Git?

The command to list all branches in local and remote repositories is:

$ git branch -a

If you require only listing the remote branches from Git Bash then use this command:

$ git branch -r

You may also use the show-branch command for seeing the branches and their commits as follows:

$ git show-branch

As working with Git version control system, we have to work with branches. Our repositories may contain a number of branches and sometimes it is hard to remember all – whether on the local or remote repo.

So, it becomes quite handy to know the way of listing all branches in the repo that helps in switching to appropriate branch as well.

In the next section, I will show you an example of a remote and local repository. I will create a few branches in both repositories and then use the commands to list all branches as well as branches in the remote repository only with screenshots.

The example of showing branches in Git

For our example, I have created a few branches in local as well as remote repositories.

Learn how to create local/remote repos/branches

The following commands are used for creating the local branches:

$ git branch br-tst1

$ git branch bt-tst2

$ git branch br-tst3

This is followed by creating remote branches:

$ git push origin br-tst1

$ git push origin br-tst3

So, we have three local and two remote branches apart from the master branch in both repositories.

Showing all branches example

For listing all branches – in local and remote repositories, run this command on the terminal:

$ git branch -a

The result is shown in the graphic below:

Git list branches all

The branches in white are the local branches whereas green (master) represents the active branch.

The branches in red are the remote branches i.e.




How to show remote branches only?

The command below shows how to list only remote branches for the set repository:

$ git branch -r

The outcome:

Git list branches remote

The output shows only the branches in red that are remote branches.

List only local branches example

Again, by using the branch command without any option lists the local branches only. Have a look:

$ git branch

The result:

show branches local

Only the local branches are listed in white with the master as green (which is the active branch).

Using Git grep command for local branches examples

For searching any committed tree, working directory etc. you may use the grep command of Git. The grep command is a big topic, however, in our context of showing branches, the command below shows how you may use it:

$ git branch -a | grep -v ‘remotes’

The result is:

show grep remote

You can see all local branches in above graphic – without active branch green color.

And if you want to get only remote branches then remove the -v in above command:

$ git branch -a | grep ‘remotes’

You may learn more about the grep here.

See when another branch is active

In this example, I have used the checkout command for making the br-tst1 branch active. This is followed by using the command for listing all branches and see the output:

show branches active

You can see, the br-tst1 is green now.

Using show-branch command example

In this example, I used the show-branch command for seeing branches and commits made. See the command and its output:

$ git show-branch

show branches

For listing the remote tracking branches, use the -r or –remotes option with show-branch command. For example:

$ git show-branch -r

The example output with our created branches in above section:

show branches remote

Similarly, for seeing all branches/commits in remote and local repos, use the –a or –all option:

$ git show-branch –all