merge-recursive: adjust git-ls-tree use for the latest.
[git/git-svn.git] / Documentation / git-show-branch.txt
blobc6c97b21c320ce7fa6533bfc153f6fac7d45a7c0
1 git-show-branch(1)
2 ==================
4 NAME
5 ----
6 git-show-branch - Show branches and their commits.
8 SYNOPSIS
9 --------
10 'git-show-branch [--all] [--heads] [--tags] [--more=<n> | --list | --independent | --merge-base] [--no-name | --sha1-name] <reference>...'
12 DESCRIPTION
13 -----------
14 Shows the head commits from the named <reference> (or all refs under
15 $GIT_DIR/refs/heads), and displays concise list of commit logs
16 to show their relationship semi-visually.
18 OPTIONS
19 -------
20 <reference>::
21         Name of the reference under $GIT_DIR/refs/.
23 --all --heads --tags::
24         Show all refs under $GIT_DIR/refs, $GIT_DIR/refs/heads,
25         and $GIT_DIR/refs/tags, respectively.
27 --more=<n>::
28         Usually the command stops output upon showing the commit
29         that is the common ancestor of all the branches.  This
30         flag tells the command to go <n> more common commits
31         beyond that.  When <n> is negative, display only the
32         <reference>s given, without showing the commit ancestry
33         tree.
35 --list::
36         Synomym to `--more=-1`
38 --merge-base::
39         Instead of showing the commit list, just act like the
40         'git-merge-base -a' command, except that it can accept
41         more than two heads.
43 --independent::
44         Among the <reference>s given, display only the ones that
45         cannot be reached from any other <reference>.
47 --no-name::
48         Do not show naming strings for each commit.
50 --sha1-name::
51         Instead of naming the commits using the path to reach
52         them from heads (e.g. "master~2" to mean the grandparent
53         of "master"), name them with the unique prefix of their
54         object names.
56 Note that --more, --list, --independent and --merge-base options
57 are mutually exclusive.
60 OUTPUT
61 ------
62 Given N <references>, the first N lines are the one-line
63 description from their commit message.  The branch head that is
64 pointed at by $GIT_DIR/HEAD is prefixed with an asterisk '*'
65 character while other heads are prefixed with a '!' character.
67 Following these N lines, one-line log for each commit is
68 displayed, indented N places.  If a commit is on the I-th
69 branch, the I-th indentation character shows a '+' sign;
70 otherwise it shows a space.  Each commit shows a short name that
71 can be used as an exended SHA1 to name that commit.
73 The following example shows three branches, "master", "fixes"
74 and "mhf":
76 ------------------------------------------------
77 $ git show-branch master fixes mhf
78 ! [master] Add 'git show-branch'.
79  ! [fixes] Introduce "reset type" flag to "git reset"
80   ! [mhf] Allow "+remote:local" refspec to cause --force when fetching.
81 ---
82   + [mhf] Allow "+remote:local" refspec to cause --force when fetching.
83   + [mhf~1] Use git-octopus when pulling more than one heads.
84  +  [fixes] Introduce "reset type" flag to "git reset"
85   + [mhf~2] "git fetch --force".
86   + [mhf~3] Use .git/remote/origin, not .git/branches/origin.
87   + [mhf~4] Make "git pull" and "git fetch" default to origin
88   + [mhf~5] Infamous 'octopus merge'
89   + [mhf~6] Retire git-parse-remote.
90   + [mhf~7] Multi-head fetch.
91   + [mhf~8] Start adding the $GIT_DIR/remotes/ support.
92 +++ [master] Add 'git show-branch'.
93 ------------------------------------------------
95 These three branches all forked from a common commit, [master],
96 whose commit message is "Add 'git show-branch'.  "fixes" branch
97 adds one commit 'Introduce "reset type"'.  "mhf" branch has many
98 other commits.
101 Author
102 ------
103 Written by Junio C Hamano <junkio@cox.net>
106 Documentation
107 --------------
108 Documentation by Junio C Hamano.
113 Part of the gitlink:git[7] suite