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