|
| 1 | +branch.autoSetupMerge:: |
| 2 | + Tells 'git branch' and 'git checkout' to set up new branches |
| 3 | + so that linkgit:git-pull[1] will appropriately merge from the |
| 4 | + starting point branch. Note that even if this option is not set, |
| 5 | + this behavior can be chosen per-branch using the `--track` |
| 6 | + and `--no-track` options. The valid settings are: `false` -- no |
| 7 | + automatic setup is done; `true` -- automatic setup is done when the |
| 8 | + starting point is a remote-tracking branch; `always` -- |
| 9 | + automatic setup is done when the starting point is either a |
| 10 | + local branch or remote-tracking |
| 11 | + branch. This option defaults to true. |
| 12 | + |
| 13 | +branch.autoSetupRebase:: |
| 14 | + When a new branch is created with 'git branch' or 'git checkout' |
| 15 | + that tracks another branch, this variable tells Git to set |
| 16 | + up pull to rebase instead of merge (see "branch.<name>.rebase"). |
| 17 | + When `never`, rebase is never automatically set to true. |
| 18 | + When `local`, rebase is set to true for tracked branches of |
| 19 | + other local branches. |
| 20 | + When `remote`, rebase is set to true for tracked branches of |
| 21 | + remote-tracking branches. |
| 22 | + When `always`, rebase will be set to true for all tracking |
| 23 | + branches. |
| 24 | + See "branch.autoSetupMerge" for details on how to set up a |
| 25 | + branch to track another branch. |
| 26 | + This option defaults to never. |
| 27 | + |
| 28 | +branch.sort:: |
| 29 | + This variable controls the sort ordering of branches when displayed by |
| 30 | + linkgit:git-branch[1]. Without the "--sort=<value>" option provided, the |
| 31 | + value of this variable will be used as the default. |
| 32 | + See linkgit:git-for-each-ref[1] field names for valid values. |
| 33 | + |
| 34 | +branch.<name>.remote:: |
| 35 | + When on branch <name>, it tells 'git fetch' and 'git push' |
| 36 | + which remote to fetch from/push to. The remote to push to |
| 37 | + may be overridden with `remote.pushDefault` (for all branches). |
| 38 | + The remote to push to, for the current branch, may be further |
| 39 | + overridden by `branch.<name>.pushRemote`. If no remote is |
| 40 | + configured, or if you are not on any branch, it defaults to |
| 41 | + `origin` for fetching and `remote.pushDefault` for pushing. |
| 42 | + Additionally, `.` (a period) is the current local repository |
| 43 | + (a dot-repository), see `branch.<name>.merge`'s final note below. |
| 44 | + |
| 45 | +branch.<name>.pushRemote:: |
| 46 | + When on branch <name>, it overrides `branch.<name>.remote` for |
| 47 | + pushing. It also overrides `remote.pushDefault` for pushing |
| 48 | + from branch <name>. When you pull from one place (e.g. your |
| 49 | + upstream) and push to another place (e.g. your own publishing |
| 50 | + repository), you would want to set `remote.pushDefault` to |
| 51 | + specify the remote to push to for all branches, and use this |
| 52 | + option to override it for a specific branch. |
| 53 | + |
| 54 | +branch.<name>.merge:: |
| 55 | + Defines, together with branch.<name>.remote, the upstream branch |
| 56 | + for the given branch. It tells 'git fetch'/'git pull'/'git rebase' which |
| 57 | + branch to merge and can also affect 'git push' (see push.default). |
| 58 | + When in branch <name>, it tells 'git fetch' the default |
| 59 | + refspec to be marked for merging in FETCH_HEAD. The value is |
| 60 | + handled like the remote part of a refspec, and must match a |
| 61 | + ref which is fetched from the remote given by |
| 62 | + "branch.<name>.remote". |
| 63 | + The merge information is used by 'git pull' (which at first calls |
| 64 | + 'git fetch') to lookup the default branch for merging. Without |
| 65 | + this option, 'git pull' defaults to merge the first refspec fetched. |
| 66 | + Specify multiple values to get an octopus merge. |
| 67 | + If you wish to setup 'git pull' so that it merges into <name> from |
| 68 | + another branch in the local repository, you can point |
| 69 | + branch.<name>.merge to the desired branch, and use the relative path |
| 70 | + setting `.` (a period) for branch.<name>.remote. |
| 71 | + |
| 72 | +branch.<name>.mergeOptions:: |
| 73 | + Sets default options for merging into branch <name>. The syntax and |
| 74 | + supported options are the same as those of linkgit:git-merge[1], but |
| 75 | + option values containing whitespace characters are currently not |
| 76 | + supported. |
| 77 | + |
| 78 | +branch.<name>.rebase:: |
| 79 | + When true, rebase the branch <name> on top of the fetched branch, |
| 80 | + instead of merging the default branch from the default remote when |
| 81 | + "git pull" is run. See "pull.rebase" for doing this in a non |
| 82 | + branch-specific manner. |
| 83 | ++ |
| 84 | +When `merges`, pass the `--rebase-merges` option to 'git rebase' |
| 85 | +so that the local merge commits are included in the rebase (see |
| 86 | +linkgit:git-rebase[1] for details). |
| 87 | ++ |
| 88 | +When preserve, also pass `--preserve-merges` along to 'git rebase' |
| 89 | +so that locally committed merge commits will not be flattened |
| 90 | +by running 'git pull'. |
| 91 | ++ |
| 92 | +When the value is `interactive`, the rebase is run in interactive mode. |
| 93 | ++ |
| 94 | +*NOTE*: this is a possibly dangerous operation; do *not* use |
| 95 | +it unless you understand the implications (see linkgit:git-rebase[1] |
| 96 | +for details). |
| 97 | + |
| 98 | +branch.<name>.description:: |
| 99 | + Branch description, can be edited with |
| 100 | + `git branch --edit-description`. Branch description is |
| 101 | + automatically added in the format-patch cover letter or |
| 102 | + request-pull summary. |
0 commit comments