summaryrefslogtreecommitdiff
path: root/Documentation/git-show-branch.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/git-show-branch.txt')
-rw-r--r--Documentation/git-show-branch.txt193
1 files changed, 193 insertions, 0 deletions
diff --git a/Documentation/git-show-branch.txt b/Documentation/git-show-branch.txt
new file mode 100644
index 0000000..ba5313d
--- /dev/null
+++ b/Documentation/git-show-branch.txt
@@ -0,0 +1,193 @@
+git-show-branch(1)
+==================
+
+NAME
+----
+git-show-branch - Show branches and their commits
+
+SYNOPSIS
+--------
+[verse]
+'git-show-branch' [--all] [--remotes] [--topo-order] [--current]
+ [--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 <globs>s (or all refs under $GIT_DIR/refs/heads
+and/or $GIT_DIR/refs/tags) semi-visually.
+
+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.
+
+
+OPTIONS
+-------
+<rev>::
+ Arbitrary extended SHA1 expression (see `git-rev-parse`)
+ that typically names a branch HEAD or a tag.
+
+<glob>::
+ A glob pattern that matches branch or tag names under
+ $GIT_DIR/refs. For example, if you have many topic
+ branches under $GIT_DIR/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 to 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).
+
+--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
+ <reference>s given, without showing the commit ancestry
+ tree.
+
+--list::
+ Synonym to `--more=-1`
+
+--merge-base::
+ Instead of showing the commit list, just act like the
+ 'git-merge-base -a' command, except that it can accept
+ more than two heads.
+
+--independent::
+ Among the <reference>s given, display only the ones that
+ cannot be reached from any other <reference>.
+
+--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"
+
+--reflog[=<n>[,<base>]] [<ref>]::
+ Shows <n> most recent ref-log entries for the given
+ ref. If <base> is given, <n> entries going back from
+ that entry. <base> can be specified as count or date.
+ `-g` can be used as a short-hand for this option. When
+ no explicit <ref> parameter is given, it defaults to the
+ current branch (or `HEAD` if it is detached).
+
+Note that --more, --list, --independent and --merge-base options
+are mutually exclusive.
+
+
+OUTPUT
+------
+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. 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":
+
+------------------------------------------------
+$ 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 heads.
+ + [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'. "fixes" branch
+adds one commit 'Introduce "reset type"'. "mhf" branch has many
+other commits. The current branch is "master".
+
+
+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:
+
+------------
+[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 with each other.
+
+
+Author
+------
+Written by Junio C Hamano <junkio@cox.net>
+
+
+Documentation
+--------------
+Documentation by Junio C Hamano.
+
+
+GIT
+---
+Part of the gitlink:git[7] suite