revision: simplify argument parsing.
[alt-git.git] / Documentation / git-branch.txt
blob71ecd858aad06b88cd459af15751fd2b604c3271
1 git-branch(1)
2 =============
4 NAME
5 ----
6 git-branch - Create a new branch, or remove an old one
8 SYNOPSIS
9 --------
10 [verse]
11 'git-branch' [[-f] <branchname> [<start-point>]]
12 'git-branch' (-d | -D) <branchname>
14 DESCRIPTION
15 -----------
16 If no argument is provided, show available branches and mark current
17 branch with star. Otherwise, create a new branch of name <branchname>.
18 If a starting point is also specified, that will be where the branch is
19 created, otherwise it will be created at the current HEAD.
21 With a `-d` or `-D` option, `<branchname>` will be deleted.
24 OPTIONS
25 -------
26 -d::
27         Delete a branch. The branch must be fully merged.
29 -D::
30         Delete a branch irrespective of its index status.
32 -f::
33         Force a reset of <branchname> to <start-point> (or current head).
35 <branchname>::
36         The name of the branch to create or delete.
38 <start-point>::
39         Where to create the branch; defaults to HEAD. This
40         option has no meaning with -d and -D.
43 Examples
44 ~~~~~~~~
46 Start development off of a known tag::
48 ------------
49 $ git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6
50 $ cd my2.6
51 $ git branch my2.6.14 v2.6.14 <1>
52 $ git checkout my2.6.14
54 <1> These two steps are the same as "checkout -b my2.6.14 v2.6.14".
55 ------------
57 Delete unneeded branch::
59 ------------
60 $ git clone git://git.kernel.org/.../git.git my.git
61 $ cd my.git
62 $ git branch -D todo <1>
64 <1> delete todo branch even if the "master" branch does not have all
65 commits from todo branch.
66 ------------
68 Author
69 ------
70 Written by Linus Torvalds <torvalds@osdl.org> and Junio C Hamano <junkio@cox.net>
72 Documentation
73 --------------
74 Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
76 GIT
77 ---
78 Part of the gitlink:git[7] suite