Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 1 | git-branch(1) |
| 2 | ============= |
| 3 | |
| 4 | NAME |
| 5 | ---- |
Junio C Hamano | 7c73c66 | 2007-01-19 00:37:50 | [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 | 4aa0bcc | 2010-03-03 05:13:12 | [diff] [blame] | 11 | 'git branch' [--color[=<when>] | --no-color] [-r | -a] |
Junio C Hamano | 8fb66e5 | 2011-10-05 20:59:51 | [diff] [blame] | 12 | [--list] [-v [--abbrev=<length> | --no-abbrev]] |
Junio C Hamano | 22700fb | 2012-05-03 23:07:25 | [diff] [blame] | 13 | [--column[=<options>] | --no-column] |
Junio C Hamano | 8fb66e5 | 2011-10-05 20:59:51 | [diff] [blame] | 14 | [(--merged | --no-merged | --contains) [<commit>]] [<pattern>...] |
Junio C Hamano | 57827fb | 2010-01-23 03:02:50 | [diff] [blame] | 15 | 'git branch' [--set-upstream | --track | --no-track] [-l] [-f] <branchname> [<start-point>] |
Junio C Hamano | eccdd4a | 2012-09-10 23:28:17 | [diff] [blame] | 16 | 'git branch' (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>] |
| 17 | 'git branch' --unset-upstream [<branchname>] |
Junio C Hamano | fce7c7e | 2008-07-02 03:06:38 | [diff] [blame] | 18 | 'git branch' (-m | -M) [<oldbranch>] <newbranch> |
| 19 | 'git branch' (-d | -D) [-r] <branchname>... |
Junio C Hamano | 515ab1d | 2011-12-09 23:41:20 | [diff] [blame] | 20 | 'git branch' --edit-description [<branchname>] |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 21 | |
| 22 | DESCRIPTION |
| 23 | ----------- |
Junio C Hamano | 38ddcce | 2008-07-15 15:49:03 | [diff] [blame] | 24 | |
Junio C Hamano | b5e079f | 2013-02-08 00:02:52 | [diff] [blame] | 25 | If `--list` is given, or if there are no non-option arguments, existing |
| 26 | branches are listed; the current branch will be highlighted with an |
| 27 | asterisk. Option `-r` causes the remote-tracking branches to be listed, |
| 28 | and option `-a` shows both local and remote branches. If a `<pattern>` |
| 29 | is given, it is used as a shell wildcard to restrict the output to |
| 30 | matching branches. If multiple patterns are given, a branch is shown if |
| 31 | it matches any of the patterns. Note that when providing a |
| 32 | `<pattern>`, you must use `--list`; otherwise the command is interpreted |
| 33 | as branch creation. |
Junio C Hamano | 38ddcce | 2008-07-15 15:49:03 | [diff] [blame] | 34 | |
Junio C Hamano | fd83b8e | 2009-03-22 08:21:41 | [diff] [blame] | 35 | With `--contains`, shows only the branches that contain the named commit |
| 36 | (in other words, the branches whose tip commits are descendants of the |
Junio C Hamano | 38ddcce | 2008-07-15 15:49:03 | [diff] [blame] | 37 | named commit). With `--merged`, only branches merged into the named |
| 38 | commit (i.e. the branches whose tip commits are reachable from the named |
| 39 | commit) will be listed. With `--no-merged` only branches not merged into |
Junio C Hamano | fd83b8e | 2009-03-22 08:21:41 | [diff] [blame] | 40 | the named commit will be listed. If the <commit> argument is missing it |
| 41 | defaults to 'HEAD' (i.e. the tip of the current branch). |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 42 | |
Junio C Hamano | c0e55e7 | 2009-10-10 00:56:29 | [diff] [blame] | 43 | The command's second form creates a new branch head named <branchname> |
| 44 | which points to the current 'HEAD', or <start-point> if given. |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 45 | |
Junio C Hamano | 1b50ce9 | 2007-10-03 12:05:53 | [diff] [blame] | 46 | Note that this will create the new branch, but it will not switch the |
| 47 | working tree to it; use "git checkout <newbranch>" to switch to the |
| 48 | new branch. |
| 49 | |
Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 50 | When a local branch is started off a remote-tracking branch, Git sets up the |
Junio C Hamano | 1aa40d2 | 2010-01-21 17:46:43 | [diff] [blame] | 51 | branch so that 'git pull' will appropriately merge from |
Junio C Hamano | 97bcb48 | 2010-11-25 03:16:07 | [diff] [blame] | 52 | the remote-tracking branch. This behavior may be changed via the global |
Junio C Hamano | 24bc09a | 2008-02-28 00:27:44 | [diff] [blame] | 53 | `branch.autosetupmerge` configuration flag. That setting can be |
Junio C Hamano | 97bcb48 | 2010-11-25 03:16:07 | [diff] [blame] | 54 | overridden by using the `--track` and `--no-track` options, and |
Junio C Hamano | eccdd4a | 2012-09-10 23:28:17 | [diff] [blame] | 55 | changed later using `git branch --set-upstream-to`. |
Junio C Hamano | 103ad7f | 2007-03-14 11:19:26 | [diff] [blame] | 56 | |
Junio C Hamano | cae88e2 | 2012-03-09 00:13:20 | [diff] [blame] | 57 | With a `-m` or `-M` option, <oldbranch> will be renamed to <newbranch>. |
Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 58 | If <oldbranch> had a corresponding reflog, it is renamed to match |
| 59 | <newbranch>, and a reflog entry is created to remember the branch |
| 60 | renaming. If <newbranch> exists, -M must be used to force the rename |
| 61 | to happen. |
| 62 | |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 63 | With a `-d` or `-D` option, `<branchname>` will be deleted. You may |
Junio C Hamano | 341071d | 2006-06-04 07:24:48 | [diff] [blame] | 64 | specify more than one branch for deletion. If the branch currently |
Junio C Hamano | 258e441 | 2007-11-29 02:28:32 | [diff] [blame] | 65 | has a reflog then the reflog will also be deleted. |
| 66 | |
Junio C Hamano | cae88e2 | 2012-03-09 00:13:20 | [diff] [blame] | 67 | Use `-r` together with `-d` to delete remote-tracking branches. Note, that it |
Junio C Hamano | 258e441 | 2007-11-29 02:28:32 | [diff] [blame] | 68 | only makes sense to delete remote-tracking branches if they no longer exist |
Junio C Hamano | 1aa40d2 | 2010-01-21 17:46:43 | [diff] [blame] | 69 | in the remote repository or if 'git fetch' was configured not to fetch |
Junio C Hamano | fd83b8e | 2009-03-22 08:21:41 | [diff] [blame] | 70 | them again. See also the 'prune' subcommand of linkgit:git-remote[1] for a |
| 71 | way to clean up all obsolete remote-tracking branches. |
Junio C Hamano | 2b13527 | 2006-03-18 07:45:42 | [diff] [blame] | 72 | |
| 73 | |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 74 | OPTIONS |
| 75 | ------- |
| 76 | -d:: |
Junio C Hamano | 8fb66e5 | 2011-10-05 20:59:51 | [diff] [blame] | 77 | --delete:: |
Junio C Hamano | d965706 | 2010-04-18 00:01:03 | [diff] [blame] | 78 | Delete a branch. The branch must be fully merged in its |
| 79 | upstream branch, or in `HEAD` if no upstream was set with |
| 80 | `--track` or `--set-upstream`. |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 81 | |
| 82 | -D:: |
Junio C Hamano | 258e441 | 2007-11-29 02:28:32 | [diff] [blame] | 83 | Delete a branch irrespective of its merged status. |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 84 | |
Junio C Hamano | 341071d | 2006-06-04 07:24:48 | [diff] [blame] | 85 | -l:: |
Junio C Hamano | 8fb66e5 | 2011-10-05 20:59:51 | [diff] [blame] | 86 | --create-reflog:: |
Junio C Hamano | 1d90cb0 | 2007-07-03 07:05:31 | [diff] [blame] | 87 | Create the branch's reflog. This activates recording of |
| 88 | all changes made to the branch ref, enabling use of date |
| 89 | based sha1 expressions such as "<branchname>@\{yesterday}". |
Junio C Hamano | e749562 | 2010-04-09 07:18:35 | [diff] [blame] | 90 | Note that in non-bare repositories, reflogs are usually |
| 91 | enabled by default by the `core.logallrefupdates` config option. |
Junio C Hamano | 341071d | 2006-06-04 07:24:48 | [diff] [blame] | 92 | |
Junio C Hamano | 560a1f6 | 2006-01-30 04:19:57 | [diff] [blame] | 93 | -f:: |
Junio C Hamano | 68cfa3a | 2009-08-30 00:22:55 | [diff] [blame] | 94 | --force:: |
Junio C Hamano | ea82cff | 2009-03-18 01:54:48 | [diff] [blame] | 95 | Reset <branchname> to <startpoint> if <branchname> exists |
Junio C Hamano | 1aa40d2 | 2010-01-21 17:46:43 | [diff] [blame] | 96 | already. Without `-f` 'git branch' refuses to change an existing branch. |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 97 | |
Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 98 | -m:: |
Junio C Hamano | 8fb66e5 | 2011-10-05 20:59:51 | [diff] [blame] | 99 | --move:: |
Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 100 | Move/rename a branch and the corresponding reflog. |
| 101 | |
| 102 | -M:: |
Junio C Hamano | fd83b8e | 2009-03-22 08:21:41 | [diff] [blame] | 103 | Move/rename a branch even if the new branch name already exists. |
Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 104 | |
Junio C Hamano | 4aa0bcc | 2010-03-03 05:13:12 | [diff] [blame] | 105 | --color[=<when>]:: |
Junio C Hamano | 97bcb48 | 2010-11-25 03:16:07 | [diff] [blame] | 106 | Color branches to highlight current, local, and |
| 107 | remote-tracking branches. |
Junio C Hamano | 4aa0bcc | 2010-03-03 05:13:12 | [diff] [blame] | 108 | The value must be always (the default), never, or auto. |
Junio C Hamano | eb69295 | 2007-01-03 22:02:12 | [diff] [blame] | 109 | |
| 110 | --no-color:: |
| 111 | Turn off branch colors, even when the configuration file gives the |
| 112 | default to color output. |
Junio C Hamano | 4aa0bcc | 2010-03-03 05:13:12 | [diff] [blame] | 113 | Same as `--color=never`. |
Junio C Hamano | eb69295 | 2007-01-03 22:02:12 | [diff] [blame] | 114 | |
Junio C Hamano | 22700fb | 2012-05-03 23:07:25 | [diff] [blame] | 115 | --column[=<options>]:: |
| 116 | --no-column:: |
| 117 | Display branch listing in columns. See configuration variable |
| 118 | column.branch for option syntax.`--column` and `--no-column` |
| 119 | without options are equivalent to 'always' and 'never' respectively. |
| 120 | + |
| 121 | This option is only applicable in non-verbose mode. |
| 122 | |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 123 | -r:: |
Junio C Hamano | 8fb66e5 | 2011-10-05 20:59:51 | [diff] [blame] | 124 | --remotes:: |
Junio C Hamano | 63ef0ac | 2006-12-22 07:28:18 | [diff] [blame] | 125 | List or delete (if used with -d) the remote-tracking branches. |
Junio C Hamano | fe9acab | 2006-11-24 12:10:55 | [diff] [blame] | 126 | |
| 127 | -a:: |
Junio C Hamano | 8fb66e5 | 2011-10-05 20:59:51 | [diff] [blame] | 128 | --all:: |
Junio C Hamano | fe9acab | 2006-11-24 12:10:55 | [diff] [blame] | 129 | List both remote-tracking branches and local branches. |
Junio C Hamano | 560a1f6 | 2006-01-30 04:19:57 | [diff] [blame] | 130 | |
Junio C Hamano | 8fb66e5 | 2011-10-05 20:59:51 | [diff] [blame] | 131 | --list:: |
| 132 | Activate the list mode. `git branch <pattern>` would try to create a branch, |
| 133 | use `git branch --list <pattern>` to list matching branches. |
| 134 | |
Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 135 | -v:: |
Junio C Hamano | 4f07aec | 2012-09-25 19:08:44 | [diff] [blame] | 136 | -vv:: |
Junio C Hamano | eb41599 | 2008-06-08 22:49:47 | [diff] [blame] | 137 | --verbose:: |
Junio C Hamano | 8fb66e5 | 2011-10-05 20:59:51 | [diff] [blame] | 138 | When in list mode, |
| 139 | show sha1 and commit subject line for each head, along with |
Junio C Hamano | 98e32c3 | 2009-04-13 02:39:53 | [diff] [blame] | 140 | relationship to upstream branch (if any). If given twice, print |
Junio C Hamano | 4f07aec | 2012-09-25 19:08:44 | [diff] [blame] | 141 | the name of the upstream branch, as well (see also `git remote |
| 142 | show <remote>`). |
Junio C Hamano | 53edd07 | 2006-11-25 10:05:21 | [diff] [blame] | 143 | |
Junio C Hamano | 51f87de | 2012-04-16 21:18:54 | [diff] [blame] | 144 | -q:: |
| 145 | --quiet:: |
| 146 | Be more quiet when creating or deleting a branch, suppressing |
| 147 | non-error messages. |
| 148 | |
Junio C Hamano | 53edd07 | 2006-11-25 10:05:21 | [diff] [blame] | 149 | --abbrev=<length>:: |
Junio C Hamano | fd83b8e | 2009-03-22 08:21:41 | [diff] [blame] | 150 | Alter the sha1's minimum display length in the output listing. |
Junio C Hamano | 6e41cb3 | 2011-08-29 07:12:49 | [diff] [blame] | 151 | The default value is 7 and can be overridden by the `core.abbrev` |
| 152 | config option. |
Junio C Hamano | 53edd07 | 2006-11-25 10:05:21 | [diff] [blame] | 153 | |
Junio C Hamano | a3fccdf | 2007-03-03 05:18:26 | [diff] [blame] | 154 | --no-abbrev:: |
Junio C Hamano | fd83b8e | 2009-03-22 08:21:41 | [diff] [blame] | 155 | Display the full sha1s in the output listing rather than abbreviating them. |
Junio C Hamano | a3fccdf | 2007-03-03 05:18:26 | [diff] [blame] | 156 | |
Junio C Hamano | 89bdb3b | 2009-05-10 06:48:14 | [diff] [blame] | 157 | -t:: |
Junio C Hamano | 1b50ce9 | 2007-10-03 12:05:53 | [diff] [blame] | 158 | --track:: |
Junio C Hamano | 3bd66e9 | 2009-04-18 06:17:56 | [diff] [blame] | 159 | When creating a new branch, set up configuration to mark the |
| 160 | start-point branch as "upstream" from the new branch. This |
| 161 | configuration will tell git to show the relationship between the |
| 162 | two branches in `git status` and `git branch -v`. Furthermore, |
| 163 | it directs `git pull` without arguments to pull from the |
| 164 | upstream when the new branch is checked out. |
| 165 | + |
Junio C Hamano | 97bcb48 | 2010-11-25 03:16:07 | [diff] [blame] | 166 | This behavior is the default when the start point is a remote-tracking branch. |
Junio C Hamano | 3bd66e9 | 2009-04-18 06:17:56 | [diff] [blame] | 167 | Set the branch.autosetupmerge configuration variable to `false` if you |
| 168 | want `git checkout` and `git branch` to always behave as if '--no-track' |
| 169 | were given. Set it to `always` if you want this behavior when the |
Junio C Hamano | 97bcb48 | 2010-11-25 03:16:07 | [diff] [blame] | 170 | start-point is either a local or remote-tracking branch. |
Junio C Hamano | 1b50ce9 | 2007-10-03 12:05:53 | [diff] [blame] | 171 | |
| 172 | --no-track:: |
Junio C Hamano | 3bd66e9 | 2009-04-18 06:17:56 | [diff] [blame] | 173 | Do not set up "upstream" configuration, even if the |
| 174 | branch.autosetupmerge configuration variable is true. |
Junio C Hamano | 1b50ce9 | 2007-10-03 12:05:53 | [diff] [blame] | 175 | |
Junio C Hamano | 57827fb | 2010-01-23 03:02:50 | [diff] [blame] | 176 | --set-upstream:: |
Junio C Hamano | cae88e2 | 2012-03-09 00:13:20 | [diff] [blame] | 177 | If specified branch does not exist yet or if `--force` has been |
| 178 | given, acts exactly like `--track`. Otherwise sets up configuration |
| 179 | like `--track` would when creating the branch, except that where |
Junio C Hamano | 57827fb | 2010-01-23 03:02:50 | [diff] [blame] | 180 | branch points to is not changed. |
| 181 | |
Junio C Hamano | eccdd4a | 2012-09-10 23:28:17 | [diff] [blame] | 182 | -u <upstream>:: |
| 183 | --set-upstream-to=<upstream>:: |
| 184 | Set up <branchname>'s tracking information so <upstream> is |
| 185 | considered <branchname>'s upstream branch. If no <branchname> |
| 186 | is specified, then it defaults to the current branch. |
| 187 | |
| 188 | --unset-upstream:: |
| 189 | Remove the upstream information for <branchname>. If no branch |
| 190 | is specified it defaults to the current branch. |
| 191 | |
Junio C Hamano | 515ab1d | 2011-12-09 23:41:20 | [diff] [blame] | 192 | --edit-description:: |
| 193 | Open an editor and edit the text to explain what the branch is |
| 194 | for, to be used by various other commands (e.g. `request-pull`). |
| 195 | |
Junio C Hamano | cae88e2 | 2012-03-09 00:13:20 | [diff] [blame] | 196 | --contains [<commit>]:: |
| 197 | Only list branches which contain the specified commit (HEAD |
Junio C Hamano | b5e079f | 2013-02-08 00:02:52 | [diff] [blame] | 198 | if not specified). Implies `--list`. |
Junio C Hamano | 47d68a5 | 2008-05-06 06:35:40 | [diff] [blame] | 199 | |
Junio C Hamano | c0e55e7 | 2009-10-10 00:56:29 | [diff] [blame] | 200 | --merged [<commit>]:: |
| 201 | Only list branches whose tips are reachable from the |
Junio C Hamano | b5e079f | 2013-02-08 00:02:52 | [diff] [blame] | 202 | specified commit (HEAD if not specified). Implies `--list`. |
Junio C Hamano | 47d68a5 | 2008-05-06 06:35:40 | [diff] [blame] | 203 | |
Junio C Hamano | c0e55e7 | 2009-10-10 00:56:29 | [diff] [blame] | 204 | --no-merged [<commit>]:: |
| 205 | Only list branches whose tips are not reachable from the |
Junio C Hamano | b5e079f | 2013-02-08 00:02:52 | [diff] [blame] | 206 | specified commit (HEAD if not specified). Implies `--list`. |
Junio C Hamano | 47d68a5 | 2008-05-06 06:35:40 | [diff] [blame] | 207 | |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 208 | <branchname>:: |
| 209 | The name of the branch to create or delete. |
Junio C Hamano | b2f5edd | 2006-05-21 10:50:09 | [diff] [blame] | 210 | The new branch name must pass all checks defined by |
Junio C Hamano | 35738e8 | 2008-01-07 07:55:46 | [diff] [blame] | 211 | linkgit:git-check-ref-format[1]. Some of these checks |
Junio C Hamano | b2f5edd | 2006-05-21 10:50:09 | [diff] [blame] | 212 | may restrict the characters allowed in a branch name. |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 213 | |
Junio C Hamano | 560a1f6 | 2006-01-30 04:19:57 | [diff] [blame] | 214 | <start-point>:: |
Junio C Hamano | c0e55e7 | 2009-10-10 00:56:29 | [diff] [blame] | 215 | The new branch head will point to this commit. It may be |
| 216 | given as a branch name, a commit-id, or a tag. If this |
| 217 | option is omitted, the current HEAD will be used instead. |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 218 | |
Junio C Hamano | e7935c4 | 2006-12-13 21:32:17 | [diff] [blame] | 219 | <oldbranch>:: |
| 220 | The name of an existing branch to rename. |
| 221 | |
| 222 | <newbranch>:: |
| 223 | The new name for an existing branch. The same restrictions as for |
Junio C Hamano | fd83b8e | 2009-03-22 08:21:41 | [diff] [blame] | 224 | <branchname> apply. |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 225 | |
| 226 | |
| 227 | Examples |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 228 | -------- |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 229 | |
Junio C Hamano | fd83b8e | 2009-03-22 08:21:41 | [diff] [blame] | 230 | Start development from a known tag:: |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 231 | + |
| 232 | ------------ |
| 233 | $ git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6 |
| 234 | $ cd my2.6 |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 235 | $ git branch my2.6.14 v2.6.14 <1> |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 236 | $ git checkout my2.6.14 |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 237 | ------------ |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 238 | + |
| 239 | <1> This step and the next one could be combined into a single step with |
| 240 | "checkout -b my2.6.14 v2.6.14". |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 241 | |
Junio C Hamano | fd83b8e | 2009-03-22 08:21:41 | [diff] [blame] | 242 | Delete an unneeded branch:: |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 243 | + |
| 244 | ------------ |
| 245 | $ git clone git://git.kernel.org/.../git.git my.git |
| 246 | $ cd my.git |
Junio C Hamano | 18b6ff3 | 2007-07-17 10:40:26 | [diff] [blame] | 247 | $ git branch -d -r origin/todo origin/html origin/man <1> |
| 248 | $ git branch -D test <2> |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 249 | ------------ |
| 250 | + |
Junio C Hamano | fd83b8e | 2009-03-22 08:21:41 | [diff] [blame] | 251 | <1> Delete the remote-tracking branches "todo", "html" and "man". The next |
| 252 | 'fetch' or 'pull' will create them again unless you configure them not to. |
| 253 | See linkgit:git-fetch[1]. |
| 254 | <2> Delete the "test" branch even if the "master" branch (or whichever branch |
| 255 | is currently checked out) does not have all commits from the test branch. |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 256 | |
| 257 | |
| 258 | Notes |
| 259 | ----- |
| 260 | |
Junio C Hamano | fd83b8e | 2009-03-22 08:21:41 | [diff] [blame] | 261 | If you are creating a branch that you want to checkout immediately, it is |
Junio C Hamano | c8d88c2 | 2006-04-29 07:02:01 | [diff] [blame] | 262 | easier to use the git checkout command with its `-b` option to create |
| 263 | a branch and check it out with a single command. |
| 264 | |
Junio C Hamano | fd83b8e | 2009-03-22 08:21:41 | [diff] [blame] | 265 | The options `--contains`, `--merged` and `--no-merged` serve three related |
Junio C Hamano | 47d68a5 | 2008-05-06 06:35:40 | [diff] [blame] | 266 | but different purposes: |
| 267 | |
| 268 | - `--contains <commit>` is used to find all branches which will need |
| 269 | special attention if <commit> were to be rebased or amended, since those |
| 270 | branches contain the specified <commit>. |
| 271 | |
| 272 | - `--merged` is used to find all branches which can be safely deleted, |
| 273 | since those branches are fully contained by HEAD. |
| 274 | |
| 275 | - `--no-merged` is used to find branches which are candidates for merging |
| 276 | into HEAD, since those branches are not fully contained by HEAD. |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 277 | |
Junio C Hamano | c276ec7 | 2009-08-26 01:35:22 | [diff] [blame] | 278 | SEE ALSO |
| 279 | -------- |
| 280 | linkgit:git-check-ref-format[1], |
| 281 | linkgit:git-fetch[1], |
Junio C Hamano | c0e55e7 | 2009-10-10 00:56:29 | [diff] [blame] | 282 | linkgit:git-remote[1], |
| 283 | link:user-manual.html#what-is-a-branch[``Understanding history: What is |
| 284 | a branch?''] in the Git User's Manual. |
Junio C Hamano | c276ec7 | 2009-08-26 01:35:22 | [diff] [blame] | 285 | |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 286 | GIT |
| 287 | --- |
Junio C Hamano | f7c042d | 2008-06-06 22:50:53 | [diff] [blame] | 288 | Part of the linkgit:git[1] suite |