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