aboutsummaryrefslogtreecommitdiff
path: root/Documentation/git-show-branch.txt
blob: c6c97b21c320ce7fa6533bfc153f6fac7d45a7c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
git-show-branch(1)
==================

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

SYNOPSIS
--------
'git-show-branch [--all] [--heads] [--tags] [--more=<n> | --list | --independent | --merge-base] [--no-name | --sha1-name] <reference>...'

DESCRIPTION
-----------
Shows the head commits from the named <reference> (or all refs under
$GIT_DIR/refs/heads), and displays concise list of commit logs
to show their relationship semi-visually.

OPTIONS
-------
<reference>::
	Name of the reference under $GIT_DIR/refs/.

--all --heads --tags::
	Show all refs under $GIT_DIR/refs, $GIT_DIR/refs/heads,
	and $GIT_DIR/refs/tags, respectively.

--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::
	Synomym 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.

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.  Each commit shows a short name that
can be used as an exended 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.


Author
------
Written by Junio C Hamano <junkio@cox.net>


Documentation
--------------
Documentation by Junio C Hamano.


GIT
---
Part of the gitlink:git[7] suite