Skip to content

Commit

Permalink
Improve description of git-branch -d and -D in man page.
Browse files Browse the repository at this point in the history
Some users expect that deleting a remote-tracking branch would prevent
fetch from creating it again, so be explcit about that it's not the case.
Also be a little more explicit about what fully merged means.

Signed-off-by: Jan Hudec <bulb@ucw.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Jan Hudec authored and Junio C Hamano committed Nov 28, 2007
1 parent dc3e3ea commit 1e72a40
Showing 1 changed file with 14 additions and 7 deletions.
21 changes: 14 additions & 7 deletions Documentation/git-branch.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,17 +45,22 @@ to happen.

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
Expand Down Expand Up @@ -153,9 +158,11 @@ $ git branch -d -r origin/todo origin/html origin/man <1>
$ 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
Expand Down

0 comments on commit 1e72a40

Please sign in to comment.