only-ff was added in git 1.6.6 and the oldest git provided by Apple was 1.7.4.

I'd prefer using only-ff to a hard reset and definitely prefer fetch/merge to pull. It won't matter to normal users and committers should know how to handle conflicts. In fact, we should probably recommend committers do their work in a local branch and then merge to master as that will minimize conflicts.