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