to happen.</p>\r
<p>With a <tt>-d</tt> or <tt>-D</tt> option, <tt><branchname></tt> will be deleted. You may\r
specify more than one branch for deletion. If the branch currently\r
-has a reflog then the reflog will also be deleted. Use -r together with -d\r
-to delete remote-tracking branches.</p>\r
+has a reflog then the reflog will also be deleted.</p>\r
+<p>Use -r together with -d to delete remote-tracking branches. Note, that it\r
+only makes sense to delete remote-tracking branches if they no longer exist\r
+in remote repository or if <a href="git-fetch.html">git-fetch(1)</a> was configured not to fetch\r
+them again. See also <em>prune</em> subcommand of <a href="git-remote.html">git-remote(1)</a> for way to\r
+clean up all obsolete remote-tracking branches.</p>\r
</div>\r
<h2>OPTIONS</h2>\r
<div class="sectionbody">\r
</dt>\r
<dd>\r
<p>\r
- Delete a branch. The branch must be fully merged.\r
+ Delete a branch. The branch must be fully merged in HEAD.\r
</p>\r
</dd>\r
<dt>\r
</dt>\r
<dd>\r
<p>\r
- Delete a branch irrespective of its index status.\r
+ Delete a branch irrespective of its merged status.\r
</p>\r
</dd>\r
<dt>\r
<ol>\r
<li>\r
<p>\r
-Delete remote-tracking branches "todo", "html", "man"\r
+Delete remote-tracking branches "todo", "html", "man". Next <em>fetch</em> or\r
+<em>pull</em> will create them again unless you configure them not to. See\r
+<a href="git-fetch.html">git-fetch(1)</a>.\r
</p>\r
</li>\r
<li>\r
<p>\r
-Delete "test" branch even if the "master" branch does not have all\r
-commits from test branch.\r
+Delete "test" branch even if the "master" branch (or whichever branch is\r
+currently checked out) does not have all commits from test branch.\r
</p>\r
</li>\r
</ol>\r
</div>\r
<div id="footer">\r
<div id="footer-text">\r
-Last updated 14-Nov-2007 12:11:22 UTC\r
+Last updated 29-Nov-2007 02:27:34 UTC\r
</div>\r
</div>\r
</body>\r
With a `-d` or `-D` option, `<branchname>` will be deleted. You may
specify more than one branch for deletion. If the branch currently
-has a reflog then the reflog will also be deleted. Use -r together with -d
-to delete remote-tracking branches.
+has a reflog then the reflog will also be deleted.
+
+Use -r together with -d to delete remote-tracking branches. Note, that it
+only makes sense to delete remote-tracking branches if they no longer exist
+in remote repository or if gitlink:git-fetch[1] was configured not to fetch
+them again. See also 'prune' subcommand of gitlink:git-remote[1] for way to
+clean up all obsolete remote-tracking branches.
OPTIONS
-------
-d::
- Delete a branch. The branch must be fully merged.
+ Delete a branch. The branch must be fully merged in HEAD.
-D::
- Delete a branch irrespective of its index status.
+ Delete a branch irrespective of its merged status.
-l::
Create the branch's reflog. This activates recording of
$ git branch -D test <2>
------------
+
-<1> Delete remote-tracking branches "todo", "html", "man"
-<2> Delete "test" branch even if the "master" branch does not have all
-commits from test branch.
+<1> Delete remote-tracking branches "todo", "html", "man". Next 'fetch' or
+'pull' will create them again unless you configure them not to. See
+gitlink:git-fetch[1].
+<2> Delete "test" branch even if the "master" branch (or whichever branch is
+currently checked out) does not have all commits from test branch.
Notes