git-show-branch \- Show branches and their commits.
.SH "SYNOPSIS"
-
-git\-show\-branch [\-\-all] [\-\-heads] [\-\-tags] [\-\-topo\-order] [\-\-more=<n> | \-\-list | \-\-independent | \-\-merge\-base] [\-\-no\-name | \-\-sha1\-name] [<rev> | <glob>]...
+.nf
+git\-show\-branch [\-\-all] [\-\-heads] [\-\-tags] [\-\-topo\-order] [\-\-current]
+ [\-\-more=<n> | \-\-list | \-\-independent | \-\-merge\-base]
+ [\-\-no\-name | \-\-sha1\-name] [<rev> | <glob>]...
+.fi
.SH "DESCRIPTION"
It cannot show more than 29 branches and commits at a time\&.
+
+It uses showbranch\&.default multi\-valued configuration items if no <rev> nor <glob> is given on the command line\&.
+
.SH "OPTIONS"
.TP
Show all refs under $GIT_DIR/refs, $GIT_DIR/refs/heads, and $GIT_DIR/refs/tags, respectively\&.
.TP
+\-\-current
+With this option, the command includes the current branch to the list of revs to be shown when it is not given on the command line\&.
+
+.TP
\-\-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)\&.
.TP
\-\-list
-Synomym to \-\-more=\-1
+Synonym to \-\-more=\-1
.TP
\-\-merge\-base
Given N <references>, 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, 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\&. Each commit shows a short name that can be used as an extended SHA1 to name that commit\&.
+Following these N lines, 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 SHA1 to name that commit\&.
The following example shows three branches, "master", "fixes" and "mhf":
.IP
$ git show\-branch master fixes mhf
-! [master] Add 'git show\-branch'\&.
+* [master] Add 'git show\-branch'\&.
! [fixes] Introduce "reset type" flag to "git reset"
! [mhf] Allow "+remote:local" refspec to cause \-\-force when fetching\&.
\-\-\-
+ [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'\&.
+*++ [master] Add 'git show\-branch'\&.
+
+These three branches all forked from a common commit, [master], whose commit message is "Add git show\-branch\&. "fixes" branch adds one commit Introduce "reset type"\&. "mhf" branch has many other commits\&. The current branch is "master"\&.
+
+.SH "EXAMPLE"
+
+
+If you keep your primary branches immediately under $GIT_DIR/refs/heads, and topic branches in subdirectories of it, having the following in the configuration file may help:
+
+.IP
+[showbranch]
+ default = \-\-topo\-order
+ default = heads/*
+
-These three branches all forked from a common commit, [master], whose commit message is "Add git show\-branch\&. "fixes" branch adds one commit Introduce "reset type"\&. "mhf" branch has many other commits\&.
+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\&.
.SH "AUTHOR"