Merge branch 'master' into next
[gitweb.git] / Documentation / git-branch.txt
index a2a0cfb7bebb6ecb28fd0635c31d5004687a6bce..b1bc8272ebf11fae564b435e7d812adb6e14a976 100644 (file)
@@ -3,11 +3,11 @@ git-branch(1)
 
 NAME
 ----
-git-branch - Create a new branch.
+git-branch - Create a new branch, or remove an old one.
 
 SYNOPSIS
 --------
-'git-branch' [<branchname> [start-point]]
+'git-branch' [(-d | -D) <branchname>] | [[-f] <branchname> [<start-point>]]
 
 DESCRIPTION
 -----------
@@ -19,11 +19,47 @@ created, otherwise it will be created at the current HEAD.
 
 OPTIONS
 -------
+-d::
+       Delete a branch. The branch must be fully merged.
+
+-D::
+       Delete a branch irrespective of its index status.
+
+-f::
+       Force a reset of <branchname> to <start-point> (or current head).
+
 <branchname>::
-       The name of the branch to create.
+       The name of the branch to create or delete.
+
+<start-point>::
+       Where to create the branch; defaults to HEAD. This
+       option has no meaning with -d and -D.
+
+
+Examples
+~~~~~~~~
+
+Start development off of a know tag::
++
+------------
+$ git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6
+$ cd my2.6
+$ git branch my2.6.14 v2.6.14 <1>
+$ git checkout my2.6.14
+
+<1> These two steps are the same as "checkout -b my2.6.14 v2.6.14".
+------------
+
+Delete unneeded branch::
++
+------------
+$ git clone git://git.kernel.org/.../git.git my.git
+$ cd my.git
+$ git branch -D todo <1>
 
-start-point::
-       Where to make the branch; defaults to HEAD.
+<1> delete todo branch even if the "master" branch does not have all
+commits from todo branch.
+------------
 
 Author
 ------