X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=Documentation%2Fgit-branch.txt;h=d43ef1dec4f27361af1a32983c53aeea15468fe9;hb=HEAD;hp=914c0e6a5a4d600d161a9d4e56b593dbffc4030c;hpb=215a7ad1ef790467a4cd3f0dcffbd6e5f04c38f7;p=git.git diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt index 914c0e6a..d43ef1de 100644 --- a/Documentation/git-branch.txt +++ b/Documentation/git-branch.txt @@ -3,27 +3,97 @@ git-branch(1) NAME ---- -git-branch - Create a new branch. +git-branch - List, create, or delete branches. SYNOPSIS -------- -'git-branch' [ [start-point]] +[verse] +'git-branch' [-r] +'git-branch' [-l] [-f] [] +'git-branch' (-d | -D) ... DESCRIPTION ----------- -If no argument is provided, show available branches and mark current -branch with star. Otherwise, create a new branch of name . +With no arguments given (or just `-r`) a list of available branches +will be shown, the current branch will be highlighted with an asterisk. + +In its second form, a new branch named will be created. +It will start out with a head equal to the one given as . +If no is given, the branch will be created with a head +equal to that of the currently checked out branch. + +With a `-d` or `-D` option, `` will be deleted. You may +specify more than one branch for deletion. If the branch currently +has a ref log then the ref log will also be deleted. -If a starting point is also specified, that will be where the branch is -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. + +-l:: + Create the branch's ref log. This activates recording of + all changes to made the branch ref, enabling use of date + based sha1 expressions such as "@{yesterday}". + +-f:: + Force the creation of a new branch even if it means deleting + a branch that already exists with the same name. + +-r:: + List only the "remote" branches. + :: - The name of the branch to create. + The name of the branch to create or delete. + The new branch name must pass all checks defined by + gitlink:git-check-ref-format[1]. Some of these checks + may restrict the characters allowed in a branch name. + +:: + The new branch will be created with a HEAD equal to this. It may + be given as a branch name, a commit-id, or a tag. If this option + is omitted, the current branch is assumed. + + + +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> This step and the next one could be combined into a single step with +"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. + + +Notes +----- + +If you are creating a branch that you want to immediately checkout, it's +easier to use the git checkout command with its `-b` option to create +a branch and check it out with a single command. -start-point:: - Where to make the branch; defaults to HEAD. Author ------ @@ -35,5 +105,5 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the link:git.html[git] suite +Part of the gitlink:git[7] suite