If I do this: $ git config merge.ff false And then: $ git merge --squash topic I get: > fatal: You cannot combine --squash with --no-ff. I can work around this by executing: $ git merge --squash --ff topic Which essentially negates the `merge.ff` configuration. In this scenario, wouldn't it make sense for `--squash` to always imply `--ff`? I mean, I think the configuration is there to help me in the general case, but when I state I want a squash merge I'm pretty explicitly asking for a commit and not a fast forward. Thoughts?