There are now 3 different levels of configuration for default pull behaviour. From most general to most fine grained they are:
1. pull.rebase
Setting this to true
means that git pull
is always equivalent to git pull --rebase
(unless branch.<branchname>.rebase
is explicitly set to false
). This can also be set per repository or globally.
2. branch.autosetuprebase
Setting this to always
means that whenever a tracking branch is created, a configuration entry like the one below will be created for it. For finer grained control, this can also be set to never
, local
or remote
and can be set per repository or globally. See git config --help
for further details.
3. branch.<branchname>.rebase
Setting this to true
means that that particular branch will always pull from its upstream via rebasing, unless git pull --no-rebase
is used explicitly.
Conclusion
So while you can't change the default behaviour for all future clones of a repository, you can change the default for all of the current user's (existing and future) repositories via git config --global pull.rebase true
.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…