From: Junio C Hamano Date: Sat, 1 Dec 2007 21:58:54 +0000 (-0800) Subject: Merge branch 'jc/branch-contains' X-Git-Tag: v1.5.4-rc0~119 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/5fa00a4dcf5d283c0af50b246b60977c66193c63?ds=inline;hp=-c Merge branch 'jc/branch-contains' * jc/branch-contains: git-branch --contains: doc and test git-branch --contains=commit parse-options: Allow to hide options from the default usage. --- 5fa00a4dcf5d283c0af50b246b60977c66193c63 diff --combined Documentation/git-branch.txt index f87b6968b4,16303ef555..d3f21c7975 --- a/Documentation/git-branch.txt +++ b/Documentation/git-branch.txt @@@ -10,6 -10,7 +10,7 @@@ SYNOPSI [verse] 'git-branch' [--color | --no-color] [-r | -a] [-v [--abbrev= | --no-abbrev]] + [--contains ] 'git-branch' [--track | --no-track] [-l] [-f] [] 'git-branch' (-m | -M) [] 'git-branch' (-d | -D) [-r] ... @@@ -20,6 -21,9 +21,9 @@@ With no arguments given a list of exist will be shown, the current branch will be highlighted with an asterisk. Option `-r` causes the remote-tracking branches to be listed, and option `-a` shows both. + With `--contains `, shows only the branches that + contains the named commit (in other words, the branches whose + tip commits are descendant of the named commit). In its second form, a new branch named will be created. It will start out with a head equal to the one given as . @@@ -45,22 -49,17 +49,22 @@@ to happen With a `-d` or `-D` option, `` 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 @@@ -158,11 -157,9 +162,11 @@@ $ git branch -d -r origin/todo origin/h $ 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