mirror of
https://github.com/git/git.git
synced 2026-08-10 17:15:14 +00:00
pull: add pull.autoStash config option
Git uses `rebase.autostash` or `merge.autostash` to determine whether a dirty worktree is allowed during pull. However, this behavior is not clearly documented, making it difficult for users to discover how to enable autostash, or causing them to unknowingly enable it. Add new config option `pull.autostash` along with its documentation and test cases. `pull.autostash` provides the same functionality as `rebase.autostash` and `merge.autostash`, but overrides them when set. If `pull.autostash` is not set, it falls back to `rebase.autostash` or `merge.autostash`, depending on the value of `pull.rebase`. Signed-off-by: Lidong Yan <yldhome2d2@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
16bd9f20a4
commit
e3378607c8
@@ -29,5 +29,21 @@ pull.octopus::
|
||||
The default merge strategy to use when pulling multiple branches
|
||||
at once.
|
||||
|
||||
pull.autoStash::
|
||||
When set to true, automatically create a temporary stash entry
|
||||
to record the local changes before the operation begins, and
|
||||
restore them after the operation completes. When your "git
|
||||
pull" rebases (instead of merges), this may be convenient, since
|
||||
unlike merging pull that tolerates local changes that do not
|
||||
interfere with the merge, rebasing pull refuses to work with any
|
||||
local changes.
|
||||
+
|
||||
If `pull.autostash` is set (either to true or false),
|
||||
`merge.autostash` and `rebase.autostash` are ignored. If
|
||||
`pull.autostash` is not set at all, depending on the value of
|
||||
`pull.rebase`, `merge.autostash` or `rebase.autostash` is used
|
||||
instead. Can be overridden by the `--[no-]autostash` command line
|
||||
option.
|
||||
|
||||
pull.twohead::
|
||||
The default merge strategy to use when pulling a single branch.
|
||||
|
||||
Reference in New Issue
Block a user