In our project, due to the branching model, most of the merges are none `fast-forward` merges. Therefore, I have set `git config merge.ff false` in my config in case I am merging from the terminal. However, with this setting I am not capable any longer to "force" a `fast-forward` merge from Sourcetree! Even if I uncheck Create a new commit even if fast-forward is possible, Sourcetree triggers a "normal" merge thus falling back onto the settings from the git config.
Sourcetree calls git merge branch-name when Create a new commit even if fast-forward is possible is not checked:
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks merge branch-name
Be explicit with the command that is triggered by Sourcetree when unchecking. That is, ...
... either make `git merge --ff branch-name` the command which is triggered (instead of `git merge branch-name`),
... or even provide a option like Require fast-forward merge triggering `git merge --ff-only branch-name`.