List your branches to facilitate keeping track of the different codebase versions you're working on. This process also helps users avoid duplicate branches when working on different features or bug fixes.
In this tutorial, you will learn how to list all branches in a remote Git repository.
- Git installed (see how to install Git on Ubuntu, macOS, Windows, CentOS 7, or CentOS 8).
- A Git repository.
How to List Remote Branches in Git?
Listing branches is considered a good practice when collaborating on a project. When you want to create a local branch, check if it already exists in the remote repository by listing the branches.
Note: See how to pull all branches in Git.
Git allows users to use several methods for listing remote branches:
git branch -r. Lists all the remote branches.
git branch -r -v. Lists all the remote branches with the latest commit hash and commit message.
git ls-remote. Lists all the references in the remote repository, including the branches.
git remote show [remote_name]. Shows information about the specified remote, including the remote branches.
git branch -a. Shows all the local and remote branches.
The sections below explain how to use the methods and provide examples for each one.
Method 1: List Remote Branches
The most straightforward way to list all branches in a remote repository is to use the following command:
git branch -r
Important: To ensure you get all the branches from the remote repository, run the following command first:
git fetch --all
The command downloads the metadata about all the branches on the remote, so the output is complete.
The command outputs a list of all the branches in the remote repository, preceded by the name of the remote that contains the branches.
Method 2: Get Detailed Branch List
Running the above command with the
--verbose) flag outputs a list of remote branches and includes the latest commit hash and commit message for each branch. The command is:
git branch -r -v
The output shows the remote name, branch name, latest commit hash, and the latest commit message for each branch.
Method 3: List Remote References
git ls-remote command shows all the references in a remote repository, including the branches. The command is useful when you want to get more information about a remote repository without having to clone it locally.
The syntax is:
git ls-remote [remote_name_or_URL]
[remote_name_or_URL] with the name of the remote repository if it has been added, or with the URL of the repository if you have not added it yet.
The first column of the output shows the SHA-1 ID of the specified Git object the reference points to. The second column is the name of the reference. The
HEAD reference is the currently active branch, and below it is a list of all the branches in the repository.
Note: See how to switch branches in Git and change which one is currently active.
Method 4: Use the show Command
git remote command with the
show subcommand to display information about a remote repository, including its URL, branches, and tags.
The syntax is:
git remote show [remote_name]
remote_name] with the name of the remote repository.
Note: Refer to our guide and learn more about git tag commit.
Method 5: Display All Branches
-a flag with the
git branch command to output all the local and remote branches in your repository. Run the following command:
git branch -a
The output lists the local branches, marks the currently active branch, and then lists all the branches in the remote repository. Listing all branches helps compare the project state in the remote and the local repository. This method allows you to synchronize the changes if there are any.
This tutorial showed how to list all Git branches in a remote repository. Learn more about Git in our Git beginner's guide, or dive deep into Git tags and learn how to use these reference points for marking version releases.