Not sure if this is intended or a bug, but with the following configuration: $ git config --global merge.ff false I am not able to merge my topic branch into master with squash option: $ git checkout master $ git merge --squash topic fatal: You cannot combine --squash with --no-ff. I'm not sure why a non-fast-forward merge would prevent a squash merge, since by its very nature a squashed merge is not a fast forward merge (or maybe it is if you only have one commit). Is there an issue here? I like fast forward merges to be off by default, since I want to control when they happen. Most of my merges do not use --squash, so I'm catering to the common case. Need advice on how to get past this issue. Thanks in advance.