Documentation / git-branch.txton commit Merge branch 'jc/push-delete-ref' (a22f542)
   1git-branch(1)
   2=============
   3
   4NAME
   5----
   6git-branch - List, create, or delete branches.
   7
   8SYNOPSIS
   9--------
  10[verse]
  11'git-branch' [-r] [-a] [-v] [--abbrev=<length>]
  12'git-branch' [-l] [-f] <branchname> [<start-point>]
  13'git-branch' (-d | -D) <branchname>...
  14
  15DESCRIPTION
  16-----------
  17With no arguments given a list of existing branches
  18will be shown, the current branch will be highlighted with an asterisk.
  19Option `-r` causes the remote-tracking branches to be listed,
  20and option `-a` shows both.
  21
  22In its second form, a new branch named <branchname> will be created.
  23It will start out with a head equal to the one given as <start-point>.
  24If no <start-point> is given, the branch will be created with a head
  25equal to that of the currently checked out branch.
  26
  27With a `-d` or `-D` option, `<branchname>` will be deleted.  You may
  28specify more than one branch for deletion.  If the branch currently
  29has a ref log then the ref log will also be deleted.
  30
  31
  32OPTIONS
  33-------
  34-d::
  35        Delete a branch. The branch must be fully merged.
  36
  37-D::
  38        Delete a branch irrespective of its index status.
  39
  40-l::
  41        Create the branch's ref log.  This activates recording of
  42        all changes to made the branch ref, enabling use of date
  43        based sha1 expressions such as "<branchname>@{yesterday}".
  44
  45-f::
  46        Force the creation of a new branch even if it means deleting
  47        a branch that already exists with the same name.
  48
  49-r::
  50        List the remote-tracking branches.
  51
  52-a::
  53        List both remote-tracking branches and local branches.
  54
  55-v::
  56        Show sha1 and subject message for each head.
  57
  58--abbrev=<length>::
  59        Alter minimum display length for sha1 in output listing,
  60        default value is 7.
  61
  62<branchname>::
  63        The name of the branch to create or delete.
  64        The new branch name must pass all checks defined by
  65        gitlink:git-check-ref-format[1].  Some of these checks
  66        may restrict the characters allowed in a branch name.
  67
  68<start-point>::
  69        The new branch will be created with a HEAD equal to this.  It may
  70        be given as a branch name, a commit-id, or a tag.  If this option
  71        is omitted, the current branch is assumed.
  72
  73
  74
  75Examples
  76--------
  77
  78Start development off of a known tag::
  79+
  80------------
  81$ git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6
  82$ cd my2.6
  83$ git branch my2.6.14 v2.6.14   <1>
  84$ git checkout my2.6.14
  85------------
  86+
  87<1> This step and the next one could be combined into a single step with
  88"checkout -b my2.6.14 v2.6.14".
  89
  90Delete unneeded branch::
  91+
  92------------
  93$ git clone git://git.kernel.org/.../git.git my.git
  94$ cd my.git
  95$ git branch -D todo    <1>
  96------------
  97+
  98<1> delete todo branch even if the "master" branch does not have all
  99commits from todo branch.
 100
 101
 102Notes
 103-----
 104
 105If you are creating a branch that you want to immediately checkout, it's
 106easier to use the git checkout command with its `-b` option to create
 107a branch and check it out with a single command.
 108
 109
 110Author
 111------
 112Written by Linus Torvalds <torvalds@osdl.org> and Junio C Hamano <junkio@cox.net>
 113
 114Documentation
 115--------------
 116Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
 117
 118GIT
 119---
 120Part of the gitlink:git[7] suite
 121