X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=Documentation%2Fgit-branch.txt;h=d43ef1dec4f27361af1a32983c53aeea15468fe9;hb=HEAD;hp=4cd0cb90ad0f47765dc1a326a343d0619977308f;hpb=7be14b49ac14da65764a115d7cb64c8a72ab5b61;p=git.git diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt index 4cd0cb90..d43ef1de 100644 --- a/Documentation/git-branch.txt +++ b/Documentation/git-branch.txt @@ -3,19 +3,29 @@ git-branch(1) NAME ---- -git-branch - Create a new branch, or remove an old one +git-branch - List, create, or delete branches. SYNOPSIS -------- -'git-branch' [(-d | -D) ] | [[-f] []] +[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 ------- @@ -25,41 +35,65 @@ OPTIONS -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 a reset of to (or current head). + 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 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. :: - Where to create the branch; defaults to HEAD. This - option has no meaning with -d and -D. + 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 know tag:: +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 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". ------------ ++ +<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> - +$ 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. + Author ------