Home Explore Blog CI



git

3rd chunk of `Documentation/git-show-branch.adoc`
5f558994a5572a848ffbcd5c7a96b5bf99d9403bd2fdf7880000000100000c4b
 date.
	When no explicit <ref> parameter is given, it defaults to the
	current branch (or `HEAD` if it is detached).

--color[=<when>]::
	Color the status sign (one of these: `*` `!` `+` `-`) of each commit
	corresponding to the branch it's in.
	The value must be always (the default), never, or auto.

--no-color::
	Turn off colored output, even when the configuration file gives the
	default to color output.
	Same as `--color=never`.

Note that --more, --list, --independent, and --merge-base options
are mutually exclusive.


OUTPUT
------

Given N <ref>s, the first N lines are the one-line description from
their commit message. The branch head that is pointed at by
$GIT_DIR/HEAD is prefixed with an asterisk `*` character while other
heads are prefixed with a `!` character.

Following these N lines, a one-line log for each commit is
displayed, indented N places.  If a commit is on the I-th
branch, the I-th indentation character shows a `+` sign;
otherwise it shows a space.  Merge commits are denoted by
a `-` sign.  Each commit shows a short name that
can be used as an extended SHA-1 to name that commit.

The following example shows three branches, "master", "fixes",
and "mhf":

------------------------------------------------
$ git show-branch master fixes mhf
* [master] Add 'git show-branch'.
 ! [fixes] Introduce "reset type" flag to "git reset"
  ! [mhf] Allow "+remote:local" refspec to cause --force when fetching.
---
  + [mhf] Allow "+remote:local" refspec to cause --force when fetching.
  + [mhf~1] Use git-octopus when pulling more than one head.
 +  [fixes] Introduce "reset type" flag to "git reset"
  + [mhf~2] "git fetch --force".
  + [mhf~3] Use .git/remote/origin, not .git/branches/origin.
  + [mhf~4] Make "git pull" and "git fetch" default to origin
  + [mhf~5] Infamous 'octopus merge'
  + [mhf~6] Retire git-parse-remote.
  + [mhf~7] Multi-head fetch.
  + [mhf~8] Start adding the $GIT_DIR/remotes/ support.
*++ [master] Add 'git show-branch'.
------------------------------------------------

These three branches all forked from a common commit, [master],
whose commit message is "Add \'git show-branch'".
The "fixes" branch adds one commit "Introduce "reset type" flag to
"git reset"". The "mhf" branch adds many other commits.
The current branch is "master".


EXAMPLES
--------

If you keep your primary branches immediately under
`refs/heads`, and topic branches in subdirectories of
it, having the following in the configuration file may help:

------------
[showbranch]
	default = --topo-order
	default = heads/*

------------

With this, `git show-branch` without extra parameters would show
only the primary branches.  In addition, if you happen to be on
your topic branch, it is shown as well.

------------
$ git show-branch --reflog="10,1 hour ago" --list master
------------

shows 10 reflog entries going back from the tip as of 1 hour ago.
Without `--list`, the output also shows how these tips are
topologically related to each other.

CONFIGURATION
-------------

include::includes/cmd-config-section-all.adoc[]

include::config/showbranch.adoc[]

GIT
---
Part of the linkgit:git[1] suite

Title: Git Show Branch Command Options and Examples
Summary
The git-show-branch command provides various options for customizing output, including coloring, reflog display, and branch filtering, and its output includes a graphical representation of branch relationships and commit history, with examples and configuration settings to tailor its behavior.