X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Fgit-branch.txt;h=6103d62fe3dca23c78b16dbdbb5ba231a6b39bf7;hb=ce8936c342a15a08029c71fdc92e283e3624bc18;hp=6f07a17a2c310a67f23034c520ab10670407c006;hpb=fae09a8084c9b51632726523b477a78dd28d7d7e;p=git.git diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt index 6f07a17a2..6103d62fe 100644 --- a/Documentation/git-branch.txt +++ b/Documentation/git-branch.txt @@ -8,22 +8,27 @@ git-branch - List, create, or delete branches SYNOPSIS -------- [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] ... +'git branch' [--color | --no-color] [-r | -a] + [-v [--abbrev= | --no-abbrev]] + [(--merged | --no-merged | --contains) []] +'git branch' [--track | --no-track] [-l] [-f] [] +'git branch' (-m | -M) [] +'git branch' (-d | -D) [-r] ... DESCRIPTION ----------- -With no arguments given a list of existing branches -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). + +With no arguments, existing branches are listed, 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). With `--merged`, only branches merged into the named +commit (i.e. the branches whose tip commits are reachable from the named +commit) will be listed. With `--no-merged` only branches not merged into +the named commit will be listed. Missing argument defaults to +'HEAD' (i.e. the tip of the current branch). In its second form, a new branch named will be created. It will start out with a head equal to the one given as . @@ -35,7 +40,7 @@ working tree to it; use "git checkout " to switch to the new branch. When a local branch is started off a remote branch, git sets up the -branch so that linkgit:git-pull[1] will appropriately merge from +branch so that 'git-pull' will appropriately merge from the remote branch. This behavior may be changed via the global `branch.autosetupmerge` configuration flag. That setting can be overridden by using the `--track` and `--no-track` options. @@ -52,7 +57,7 @@ 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 linkgit:git-fetch[1] was configured not to fetch +in remote repository or if 'git-fetch' was configured not to fetch them again. See also 'prune' subcommand of linkgit:git-remote[1] for way to clean up all obsolete remote-tracking branches. @@ -93,7 +98,8 @@ OPTIONS -a:: List both remote-tracking branches and local branches. --v, --verbose:: +-v:: +--verbose:: Show sha1 and commit subject line for each head. --abbrev=:: @@ -104,20 +110,29 @@ OPTIONS Display the full sha1s in output listing rather than abbreviating them. --track:: - When creating a new branch, set up configuration so that git-pull + When creating a new branch, set up configuration so that 'git-pull' will automatically retrieve data from the start point, which must be a branch. Use this if you always pull from the same upstream branch into the new branch, and if you don't want to use "git pull " explicitly. This behavior is the default when the start point is a remote branch. Set the branch.autosetupmerge configuration variable to `false` if you want - git-checkout and git-branch to always behave as if '--no-track' were + 'git-checkout' and 'git-branch' to always behave as if '--no-track' were given. Set it to `always` if you want this behavior when the start-point is either a local or remote branch. --no-track:: Ignore the branch.autosetupmerge configuration variable. +--contains :: + Only list branches which contain the specified commit. + +--merged:: + Only list branches which are fully contained by HEAD. + +--no-merged:: + Do not list branches which are fully contained by HEAD. + :: The name of the branch to create or delete. The new branch name must pass all checks defined by @@ -175,10 +190,22 @@ If you are creating a branch that you want to immediately checkout, it's easier to use the git checkout command with its `-b` option to create a branch and check it out with a single command. +The options `--contains`, `--merged` and `--no-merged` serves three related +but different purposes: + +- `--contains ` is used to find all branches which will need + special attention if were to be rebased or amended, since those + branches contain the specified . + +- `--merged` is used to find all branches which can be safely deleted, + since those branches are fully contained by HEAD. + +- `--no-merged` is used to find branches which are candidates for merging + into HEAD, since those branches are not fully contained by HEAD. Author ------ -Written by Linus Torvalds and Junio C Hamano +Written by Linus Torvalds and Junio C Hamano Documentation -------------- @@ -186,4 +213,4 @@ Documentation by Junio C Hamano and the git-list . GIT --- -Part of the linkgit:git[7] suite +Part of the linkgit:git[1] suite