I can't really ever think of a time when I would use git merge
rather than git rebase
and not want to have a commit show up. Is there any way to configure git to have fast forwarding off by default? The fact that there's an --ff
option would seem to imply that there's a way, but I can't seem to find it in the documentation.
It seems there is still a pending question in the thread: How to do it globally (i.e. for all branches) ? For the records, we can use the following:
git config --add merge.ff false
...to make it apply to all branches in the current repository. To make it apply to all branches in all repositories where someone has not run it without the --global
option (local settings override global) run this:
git config --global --add merge.ff false
From the documentation:
merge.ff
By default, git does not create an extra merge commit when merging a commit that is a descendant of the current commit. Instead, the tip of the current branch is fast-forwarded. When set to false, this variable tells git to create an extra merge commit in such a case (equivalent to giving the--no-ff
option from the command line). When set to only, only such fast-forward merges are allowed (equivalent to giving the--ff-only
option from the command line).