Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 1 | git-branch(1) |
| 2 | ============= |
| 3 | |
| 4 | NAME |
| 5 | ---- |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 6 | git-branch - List, create, or delete branches. |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 7 | |
| 8 | SYNOPSIS |
| 9 | -------- |
Junio C Hamano | 2b13527 | 2006-03-18 07:45:42 | [diff] [blame] | 10 | [verse] |
Junio C Hamano | 53edd07 | 2006-11-25 10:05:21 | [diff] [blame^] | 11 | 'git-branch' [-r] [-a] [-v] [--abbrev=<length>] |
Junio C Hamano | 341071d | 2006-06-04 07:24:48 | [diff] [blame] | 12 | 'git-branch' [-l] [-f] <branchname> [<start-point>] |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 13 | 'git-branch' (-d | -D) <branchname>... |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 14 | |
| 15 | DESCRIPTION |
| 16 | ----------- |
Junio C Hamano | fe9acab | 2006-11-24 12:10:55 | [diff] [blame] | 17 | With no arguments given a list of existing branches |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 18 | will be shown, the current branch will be highlighted with an asterisk. |
Junio C Hamano | fe9acab | 2006-11-24 12:10:55 | [diff] [blame] | 19 | Option `-r` causes the remote-tracking branches to be listed, |
| 20 | and option `-a` shows both. |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 21 | |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 22 | In its second form, a new branch named <branchname> will be created. |
| 23 | It will start out with a head equal to the one given as <start-point>. |
| 24 | If no <start-point> is given, the branch will be created with a head |
| 25 | equal to that of the currently checked out branch. |
| 26 | |
| 27 | With a `-d` or `-D` option, `<branchname>` will be deleted. You may |
Junio C Hamano | 341071d | 2006-06-04 07:24:48 | [diff] [blame] | 28 | specify more than one branch for deletion. If the branch currently |
| 29 | has a ref log then the ref log will also be deleted. |
Junio C Hamano | 2b13527 | 2006-03-18 07:45:42 | [diff] [blame] | 30 | |
| 31 | |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 32 | OPTIONS |
| 33 | ------- |
| 34 | -d:: |
| 35 | Delete a branch. The branch must be fully merged. |
| 36 | |
| 37 | -D:: |
| 38 | Delete a branch irrespective of its index status. |
| 39 | |
Junio C Hamano | 341071d | 2006-06-04 07:24:48 | [diff] [blame] | 40 | -l:: |
| 41 | Create the branch's ref log. This activates recording of |
| 42 | all changes to made the branch ref, enabling use of date |
| 43 | based sha1 expressions such as "<branchname>@{yesterday}". |
| 44 | |
Junio C Hamano | 560a1f6 | 2006-01-30 04:19:57 | [diff] [blame] | 45 | -f:: |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 46 | Force the creation of a new branch even if it means deleting |
| 47 | a branch that already exists with the same name. |
| 48 | |
| 49 | -r:: |
Junio C Hamano | fe9acab | 2006-11-24 12:10:55 | [diff] [blame] | 50 | List the remote-tracking branches. |
| 51 | |
| 52 | -a:: |
| 53 | List both remote-tracking branches and local branches. |
Junio C Hamano | 560a1f6 | 2006-01-30 04:19:57 | [diff] [blame] | 54 | |
Junio C Hamano | 53edd07 | 2006-11-25 10:05:21 | [diff] [blame^] | 55 | -v:: |
| 56 | Show sha1 and subject message for each head. |
| 57 | |
| 58 | --abbrev=<length>:: |
| 59 | Alter minimum display length for sha1 in output listing, |
| 60 | default value is 7. |
| 61 | |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 62 | <branchname>:: |
| 63 | The name of the branch to create or delete. |
Junio C Hamano | b2f5edd | 2006-05-21 10:50:09 | [diff] [blame] | 64 | The new branch name must pass all checks defined by |
| 65 | gitlink:git-check-ref-format[1]. Some of these checks |
| 66 | may restrict the characters allowed in a branch name. |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 67 | |
Junio C Hamano | 560a1f6 | 2006-01-30 04:19:57 | [diff] [blame] | 68 | <start-point>:: |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 69 | The new branch will be created with a HEAD equal to this. It may |
| 70 | be given as a branch name, a commit-id, or a tag. If this option |
| 71 | is omitted, the current branch is assumed. |
| 72 | |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 73 | |
| 74 | |
| 75 | Examples |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 76 | -------- |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 77 | |
Junio C Hamano | 2b13527 | 2006-03-18 07:45:42 | [diff] [blame] | 78 | Start development off of a known tag:: |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 79 | + |
| 80 | ------------ |
| 81 | $ git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6 |
| 82 | $ cd my2.6 |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 83 | $ git branch my2.6.14 v2.6.14 <1> |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 84 | $ git checkout my2.6.14 |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 85 | ------------ |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 86 | + |
| 87 | <1> This step and the next one could be combined into a single step with |
| 88 | "checkout -b my2.6.14 v2.6.14". |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 89 | |
| 90 | Delete unneeded branch:: |
| 91 | + |
| 92 | ------------ |
| 93 | $ git clone git://git.kernel.org/.../git.git my.git |
| 94 | $ cd my.git |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 95 | $ git branch -D todo <1> |
| 96 | ------------ |
| 97 | + |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 98 | <1> delete todo branch even if the "master" branch does not have all |
| 99 | commits from todo branch. |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 100 | |
| 101 | |
| 102 | Notes |
| 103 | ----- |
| 104 | |
| 105 | If you are creating a branch that you want to immediately checkout, it's |
| 106 | easier to use the git checkout command with its `-b` option to create |
| 107 | a branch and check it out with a single command. |
| 108 | |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 109 | |
| 110 | Author |
| 111 | ------ |
| 112 | Written by Linus Torvalds <torvalds@osdl.org> and Junio C Hamano <junkio@cox.net> |
| 113 | |
| 114 | Documentation |
| 115 | -------------- |
| 116 | Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>. |
| 117 | |
| 118 | GIT |
| 119 | --- |
| 120 | Part of the gitlink:git[7] suite |
| 121 | |