1pull.ff:: 2 By default, Git does not create an extra merge commit when merging 3 a commit that is a descendant of the current commit. Instead, the 4 tip of the current branch is fast-forwarded. When set to `false`, 5 this variable tells Git to create an extra merge commit in such 6 a case (equivalent to giving the `--no-ff` option from the command 7 line). When set to `only`, only such fast-forward merges are 8 allowed (equivalent to giving the `--ff-only` option from the 9 command line). This setting overrides `merge.ff` when pulling. 10 11pull.rebase:: 12 When true, rebase branches on top of the fetched branch, instead 13 of merging the default branch from the default remote when "git 14 pull" is run. See "branch.<name>.rebase" for setting this on a 15 per-branch basis. 16+ 17When `merges`, pass the `--rebase-merges` option to 'git rebase' 18so that the local merge commits are included in the rebase (see 19linkgit:git-rebase[1] for details). 20+ 21When preserve, also pass `--preserve-merges` along to 'git rebase' 22so that locally committed merge commits will not be flattened 23by running 'git pull'. 24+ 25When the value is `interactive`, the rebase is run in interactive mode. 26+ 27*NOTE*: this is a possibly dangerous operation; do *not* use 28it unless you understand the implications (see linkgit:git-rebase[1] 29for details). 30 31pull.octopus:: 32 The default merge strategy to use when pulling multiple branches 33 at once. 34 35pull.twohead:: 36 The default merge strategy to use when pulling a single branch.