Merge branch 'lt/logopt' into next
[gitweb.git] / Documentation / git-branch.txt
index 98014f6d9bb23c90e9f4c8eb5e8b12313b522a58..71ecd858aad06b88cd459af15751fd2b604c3271 100644 (file)
@@ -3,20 +3,24 @@ git-branch(1)
 
 NAME
 ----
-git-branch - Create a new branch, or remove an old one.
+git-branch - Create a new branch, or remove an old one
 
 SYNOPSIS
 --------
-'git-branch' [-d | -D] [<branchname> [start-point]]
+[verse]
+'git-branch' [[-f] <branchname> [<start-point>]]
+'git-branch' (-d | -D) <branchname>
 
 DESCRIPTION
 -----------
 If no argument is provided, show available branches and mark current
 branch with star. Otherwise, create a new branch of name <branchname>.
-
 If a starting point is also specified, that will be where the branch is
 created, otherwise it will be created at the current HEAD.
 
+With a `-d` or `-D` option, `<branchname>` will be deleted.
+
+
 OPTIONS
 -------
 -d::
@@ -25,13 +29,42 @@ OPTIONS
 -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 or delete.
 
-start-point::
+<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 known 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>
+
+<1> delete todo branch even if the "master" branch does not have all
+commits from todo branch.
+------------
+
 Author
 ------
 Written by Linus Torvalds <torvalds@osdl.org> and Junio C Hamano <junkio@cox.net>