Documentation / git-show-branch.txton commit Merge branch 'fixes' (b12bbd5)
   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