Matthias Baumgarten <matthias.baumgarten@xxxxxxxxxx> writes: > If my assumption were true, and every explicit (cli given) option > would overwrite implicitly given ones (i.e. configured options), > wouldn't > > * git -c pull.ff=only pull, do a fast-forward (or merge) This should fast-forward if it can or otherwise fail if it cannot, right? > * git -c pull.ff=only pull --merge, force a merge commit This would fast-forward if it can or otherwise create a merge. Unlike "pull --no-ff", this should not "force" a merge commit. > * git -c pull.ff=only pull --rebase, force rebase This would rebase (we may not have our own commits on top of theirs, in which case it would end up fast-forwarding plus rebasing 0 commits). I do not think the phrase "force rebase" makes much sense, though.