Deciphering “git show-branch” To See Branches And Their Commits

Commands discussed in this section:

  • git show-branch

git show-branch

Let’s start with the repository we created in the Creating And Playing With Branches page.

The Master branch:

  • Commit C1: Created the file README with the contents: This is the README file.
  • Commit C2: Added one more line to the README file: One more line.
  • Commit C3: Created the file Makefile with the contents: #Beginnings of a Makefile

The test branch started with the master branch commit C2:

  • Commit T1 created the file Makefile with the contents: My system test

The below diagram shows the 2 branches and what occurred during each commit:


The git show-branch command shows the branches and the commit history:

$ git show-branch
* [master] Added a Makefile
 ! [test] Add plan file
*  [master] Added a Makefile
 + [test] Add plan file
*+ [master^] Added a second line.

A bit cryptic?

Let’s break it down, starting with the first two lines, until the ““.

In no particular order, each line lists one branch and its most recent commit text in the following format:

  • A “*” begins the line if this branch is the current branch.
  • A “!” begins the line if this branch is not the current branch.
  • The branch name is reported, in [brackets].
  • The branch’s most recent commit is shown.

For example:

show branch above

Below the “” line is the commit history. Every commit on every branch must have a common ancestor at some point. In our example repository: Commit C3 and commit T1 have a common ancestor: C2. The common ancestor of two branches is where the “branch” occurred. Commits before the common ancestor are the same for both branches.

git show-branch shows commits from all branches, until the point where the branches have a common ancestor.

show branch below

Recent Articles

What is the deal with the Git Index? What is the Git Index?

The git "index" is where you place files you want committed to the git repository. Learn more about the git index and git commit by selecting this link.

Visualising Branches And Their Commits | Git Show-branch

We explain and discuss the use of the git show-branch, gitg, gitk and qgit in this Tutorial. Complete with examples.

“Tracking Branches” And “Remote-Tracking Branches”

Both Tracking Branches and Remote Tracking Branches are created on the git client when a git clone command is used.

Temporarily Stashing Your Work

Git Stash is used when you want to record the current state of the working directory and index, without committing, to come back to complete later.

Shared Repositories Should Be Bare Repositories

Bare Repositories - When creating a central repository that will be shared by other users, the repositories should be created with the --bare option.

Related Stories

Leave A Reply

Please enter your comment!
Please enter your name here

Stay on op - Ge the daily news in your inbox