In our development process we always want to do rebase and only rarely create merge commits, and so we have a recommendation to set the merge.ff configuration attribute to "only". This is great, however it appears to break git merge --squash (which we also use constantly). If I'm squash-merging from a branch which is not based on HEAD (cannot use fast-forwarding) then I get the extremely cryptic error: $ git checkout master $ git pull $ git merge --squash my-branch fatal: Not possible to fast-forward, aborting. I couldn't even understand what this error meant for a while: what was being fast-forwarded here anyway? It took me a lot of thought to realize it was related to the merge.ff config setting. Eventually I figured it out, and now have this workaround: $ git merge --ff --squash my-branch But, shouldn't we consider this a bug? I don't see any reason why --squash should pay attention to the ff config setting, or command line flags either for that matter. IMHO when you add the --squash flag, the ff options/config should be ignored. Or, am I missing some subtle issue here? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html