]>
Commit | Line | Data |
---|---|---|
7273b95d | 1 | branch.autoSetupMerge:: |
d787d311 | 2 | Tells 'git branch', 'git switch' and 'git checkout' to set up new branches |
7273b95d NTND |
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:: | |
d787d311 | 14 | When a new branch is created with 'git branch', 'git switch' or 'git checkout' |
7273b95d NTND |
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 | + | |
427c3bd2 JS |
88 | When `preserve` (deprecated in favor of `merges`), also pass |
89 | `--preserve-merges` along to 'git rebase' so that locally committed merge | |
90 | commits will not be flattened by running 'git pull'. | |
7273b95d NTND |
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. |