mirror of
https://github.com/git/git
synced 2024-08-27 11:39:22 +00:00
![Bert Wesarg](/assets/img/avatar_default.png)
When 46af44b07d
(pull --rebase=<type>: allow single-letter abbreviations
for the type, 2018-08-04) landed in Git, it had the side effect that
not only 'pull --rebase=<type>' accepted the single-letter abbreviations
but also the 'pull.rebase' and 'branch.<name>.rebase' configurations.
However, 'git remote rename' did not honor these single-letter
abbreviations when reading the 'branch.*.rebase' configurations.
We now document the single-letter abbreviations and both code places
share a common function to parse the values of 'git pull --rebase=*',
'pull.rebase', and 'branches.*.rebase'.
The only functional change is the handling of the `branch_info::rebase`
value. Before it was an unsigned enum, thus the truth value could be
checked with `branch_info::rebase != 0`. But `enum rebase_type` is
signed, thus the truth value must now be checked with
`branch_info::rebase >= REBASE_TRUE`
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
104 lines
4.8 KiB
Plaintext
104 lines
4.8 KiB
Plaintext
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. 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/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, 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 at 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 `preserve` (or just 'p', deprecated in favor of `merges`), also pass
|
|
`--preserve-merges` along to 'git rebase' so that locally committed merge
|
|
commits will not be flattened by running 'git pull'.
|
|
+
|
|
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 in the format-patch cover letter or
|
|
request-pull summary.
|