Merge http://www.kernel.org/pub/scm/gitk/gitk
[git/git.git] / Documentation / git-show-branch.txt
1 git-show-branch(1)
2 ==================
3
4 NAME
5 ----
6 git-show-branch - Show branches and their commits.
7
8 SYNOPSIS
9 --------
10 'git-show-branch [--all] [--heads] [--tags] [--more=<n> | --list | --independent | --merge-base] [--no-name | --sha1-name] <reference>...'
11
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.
17
18 OPTIONS
19 -------
20 <reference>::
21 Name of the reference under $GIT_DIR/refs/.
22
23 --all --heads --tags::
24 Show all refs under $GIT_DIR/refs, $GIT_DIR/refs/heads,
25 and $GIT_DIR/refs/tags, respectively.
26
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.
34
35 --list::
36 Synomym to `--more=-1`
37
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.
42
43 --independent::
44 Among the <reference>s given, display only the ones that
45 cannot be reached from any other <reference>.
46
47 --no-name::
48 Do not show naming strings for each commit.
49
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.
55
56 Note that --more, --list, --independent and --merge-base options
57 are mutually exclusive.
58
59
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.
66
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.
72
73 The following example shows three branches, "master", "fixes"
74 and "mhf":
75
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 ------------------------------------------------
94
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.
99
100
101 Author
102 ------
103 Written by Junio C Hamano <junkio@cox.net>
104
105
106 Documentation
107 --------------
108 Documentation by Junio C Hamano.
109
110
111 GIT
112 ---
113 Part of the gitlink:git[7] suite