| branch.autoSetupMerge:: |
| Tells 'git branch', 'git switch' and 'git checkout' to set up new branches |
| so that linkgit:git-pull[1] will appropriately merge from the |
| starting point branch. Note that even if this option is not set, |
| this behavior can be chosen per-branch using the `--track` |
| and `--no-track` options. The valid settings are: `false` -- no |
| automatic setup is done; `true` -- automatic setup is done when the |
| starting point is a remote-tracking branch; `always` -- |
| automatic setup is done when the starting point is either a |
| local branch or remote-tracking branch; `inherit` -- if the starting point |
| has a tracking configuration, it is copied to the new |
| branch; `simple` -- automatic setup is done only when the starting point |
| is a remote-tracking branch and the new branch has the same name as the |
| remote branch. This option defaults to true. |
| |
| branch.autoSetupRebase:: |
| When a new branch is created with 'git branch', 'git switch' or 'git checkout' |
| that tracks another branch, this variable tells Git to set |
| up pull to rebase instead of merge (see "branch.<name>.rebase"). |
| When `never`, rebase is never automatically set to true. |
| When `local`, rebase is set to true for tracked branches of |
| other local branches. |
| When `remote`, rebase is set to true for tracked branches of |
| remote-tracking branches. |
| When `always`, rebase will be set to true for all tracking |
| branches. |
| See "branch.autoSetupMerge" for details on how to set up a |
| branch to track another branch. |
| This option defaults to never. |
| |
| branch.sort:: |
| This variable controls the sort ordering of branches when displayed by |
| linkgit:git-branch[1]. Without the "--sort=<value>" option provided, the |
| value of this variable will be used as the default. |
| See linkgit:git-for-each-ref[1] field names for valid values. |
| |
| branch.<name>.remote:: |
| When on branch <name>, it tells 'git fetch' and 'git push' |
| which remote to fetch from or push to. The remote to push to |
| may be overridden with `remote.pushDefault` (for all branches). |
| The remote to push to, for the current branch, may be further |
| overridden by `branch.<name>.pushRemote`. If no remote is |
| configured, or if you are not on any branch and there is more than |
| one remote defined in the repository, it defaults to `origin` for |
| fetching and `remote.pushDefault` for pushing. |
| Additionally, `.` (a period) is the current local repository |
| (a dot-repository), see `branch.<name>.merge`'s final note below. |
| |
| branch.<name>.pushRemote:: |
| When on branch <name>, it overrides `branch.<name>.remote` for |
| pushing. It also overrides `remote.pushDefault` for pushing |
| from branch <name>. When you pull from one place (e.g. your |
| upstream) and push to another place (e.g. your own publishing |
| repository), you would want to set `remote.pushDefault` to |
| specify the remote to push to for all branches, and use this |
| option to override it for a specific branch. |
| |
| branch.<name>.merge:: |
| Defines, together with branch.<name>.remote, the upstream branch |
| for the given branch. It tells 'git fetch'/'git pull'/'git rebase' which |
| branch to merge and can also affect 'git push' (see push.default). |
| When in branch <name>, it tells 'git fetch' the default |
| refspec to be marked for merging in FETCH_HEAD. The value is |
| handled like the remote part of a refspec, and must match a |
| ref which is fetched from the remote given by |
| "branch.<name>.remote". |
| The merge information is used by 'git pull' (which first calls |
| 'git fetch') to lookup the default branch for merging. Without |
| this option, 'git pull' defaults to merge the first refspec fetched. |
| Specify multiple values to get an octopus merge. |
| If you wish to setup 'git pull' so that it merges into <name> from |
| another branch in the local repository, you can point |
| branch.<name>.merge to the desired branch, and use the relative path |
| setting `.` (a period) for branch.<name>.remote. |
| |
| branch.<name>.mergeOptions:: |
| Sets default options for merging into branch <name>. The syntax and |
| supported options are the same as those of linkgit:git-merge[1], but |
| option values containing whitespace characters are currently not |
| supported. |
| |
| branch.<name>.rebase:: |
| When true, rebase the branch <name> on top of the fetched branch, |
| instead of merging the default branch from the default remote when |
| "git pull" is run. See "pull.rebase" for doing this in a non |
| branch-specific manner. |
| + |
| When `merges` (or just 'm'), pass the `--rebase-merges` option to 'git rebase' |
| so that the local merge commits are included in the rebase (see |
| linkgit:git-rebase[1] for details). |
| + |
| When the value is `interactive` (or just 'i'), the rebase is run in interactive |
| mode. |
| + |
| *NOTE*: this is a possibly dangerous operation; do *not* use |
| it unless you understand the implications (see linkgit:git-rebase[1] |
| for details). |
| |
| branch.<name>.description:: |
| Branch description, can be edited with |
| `git branch --edit-description`. Branch description is |
| automatically added to the format-patch cover letter or |
| request-pull summary. |