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] <reference>...' 11 12DESCRIPTION 13----------- 14Shows the head commits from the named <reference> (or all refs under 15$GIT_DIR/refs/heads), and displays concise list of commit logs 16to show their relationship semi-visually. 17 18OPTIONS 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 47Note that --more, --list, --independent and --merge-base options 48are mutually exclusive. 49 50 51OUTPUT 52------ 53Given N <references>, the first N lines are the one-line 54description from their commit message. The branch head that is 55pointed at by $GIT_DIR/HEAD is prefixed with an asterisk '*' 56character while other heads are prefixed with a '!' character. 57 58Following these N lines, one-line log for each commit is 59displayed, indented N places. If a commit is on the I-th 60branch, the I-th indentation character shows a '+' sign; 61otherwise it shows a space. Each commit shows a short name that 62can be used as an exended SHA1 to name that commit. 63 64The following example shows three branches, "master", "fixes" 65and "mhf": 66 67------------------------------------------------ 68$ git show-branch master fixes mhf 69! [master] Add 'git show-branch'. 70 ! [fixes] Introduce "reset type" flag to "git reset" 71 ! [mhf] Allow "+remote:local" refspec to cause --force when fetching. 72--- 73 + [mhf] Allow "+remote:local" refspec to cause --force when fetching. 74 + [mhf~1] Use git-octopus when pulling more than one heads. 75 + [fixes] Introduce "reset type" flag to "git reset" 76 + [mhf~2] "git fetch --force". 77 + [mhf~3] Use .git/remote/origin, not .git/branches/origin. 78 + [mhf~4] Make "git pull" and "git fetch" default to origin 79 + [mhf~5] Infamous 'octopus merge' 80 + [mhf~6] Retire git-parse-remote. 81 + [mhf~7] Multi-head fetch. 82 + [mhf~8] Start adding the $GIT_DIR/remotes/ support. 83+++ [master] Add 'git show-branch'. 84------------------------------------------------ 85 86These three branches all forked from a common commit, [master], 87whose commit message is "Add 'git show-branch'. "fixes" branch 88adds one commit 'Introduce "reset type"'. "mhf" branch has many 89other commits. 90 91When only one head is given, the output format changes slightly 92to conserve space. The '+' sign to show which commit is 93reachable from which head and the first N lines to show the list 94of heads being displayed are both meaningless so they are 95omitted. Also the label given to each commit does not repeat 96the name of the branch because it is obvious. 97 98------------------------------------------------ 99$ git show-branch --more=4 master 100[master] Add 'git show-branch'. 101[~1] Add a new extended SHA1 syntax <name>~<num> 102[~2] Fix "git-diff A B" 103[~3] git-ls-files: generalized pathspecs 104[~4] Make "git-ls-files" work in subdirectories 105------------------------------------------------ 106 107Author 108------ 109Written by Junio C Hamano <junkio@cox.net> 110 111 112Documentation 113-------------- 114Documentation by Junio C Hamano. 115 116 117GIT 118--- 119Part of the gitlink:git[7] suite