Home Explore Blog CI



git

1st chunk of `Documentation/git-show-branch.adoc`
23abe0e2c96c2d34d80d6c3b6a679d2427768efd7f46de6b0000000100000ce1
git-show-branch(1)
==================

NAME
----
git-show-branch - Show branches and their commits

SYNOPSIS
--------
[verse]
'git show-branch' [-a | --all] [-r | --remotes] [--topo-order | --date-order]
		[--current] [--color[=<when>] | --no-color] [--sparse]
		[--more=<n> | --list | --independent | --merge-base]
		[--no-name | --sha1-name] [--topics]
		[(<rev> | <glob>)...]
'git show-branch' (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]

DESCRIPTION
-----------

Shows the commit ancestry graph starting from the commits named
with <rev>s or <glob>s (or all refs under refs/heads
and/or refs/tags) semi-visually.

It cannot show more than 26 branches and commits at a time.

It uses `showbranch.default` multi-valued configuration items if
no <rev> or <glob> is given on the command line.


OPTIONS
-------
<rev>::
	Arbitrary extended SHA-1 expression (see linkgit:gitrevisions[7])
	that typically names a branch head or a tag.

<glob>::
	A glob pattern that matches branch or tag names under
	refs/.  For example, if you have many topic
	branches under refs/heads/topic, giving
	`topic/*` would show all of them.

-r::
--remotes::
	Show the remote-tracking branches.

-a::
--all::
	Show both remote-tracking branches and local branches.

--current::
	With this option, the command includes the current
	branch in the list of revs to be shown when it is not
	given on the command line.

--topo-order::
        By default, the branches and their commits are shown in
        reverse chronological order.  This option makes them
        appear in topological order (i.e., descendant commits
        are shown before their parents).

--date-order::
	This option is similar to `--topo-order` in the sense that no
	parent comes before all of its children, but otherwise commits
	are ordered according to their commit date.

--sparse::
	By default, the output omits merges that are reachable
	from only one tip being shown.  This option makes them
	visible.

--more=<n>::
	Usually the command stops output upon showing the commit
	that is the common ancestor of all the branches.  This
	flag tells the command to go <n> more common commits
	beyond that.  When <n> is negative, display only the
	<ref>s given, without showing the commit ancestry tree.

--list::
	Synonym to `--more=-1`

--merge-base::
	Instead of showing the commit list, determine possible
	merge bases for the specified commits. All merge bases
	will be contained in all specified commits. This is
	different from how linkgit:git-merge-base[1] handles
	the case of three or more commits.

--independent::
	Among the <ref>s given, display only the ones that cannot be
	reached from any other <ref>.

--no-name::
	Do not show naming strings for each commit.

--sha1-name::
	Instead of naming the commits using the path to reach
	them from heads (e.g. "master~2" to mean the grandparent
	of "master"), name them with the unique prefix of their
	object names.

--topics::
	Shows only commits that are NOT on the first branch given.
	This helps track topic branches by hiding any commit that
	is already in the main line of development.  When given
	"git show-branch --topics master topic1 topic2", this
	will show the revisions given by "git rev-list {caret}master
	topic1 topic2"

-g::
--reflog[=<n>[,<base>]] [<ref>]::
	Shows <n>

Title: Git Show Branch Command
Summary
The git-show-branch command is used to display the commit ancestry graph of branches and their commits, allowing users to visualize the relationships between different branches and commits in a Git repository.