Search code examples
gitmerge

How do I make git merge's default be --no-ff --no-commit?


Company policy is to use --no-ff for merge commits. I personally like to adjust merge log messages so I use --no-commit. Plus I like to actually compile and test before I let the commit go.

How do I make --no-ff and --no-commit the default for me for all branches?

(and I've learned in the years since asking this, I almost always am happy with the commit, so it is simpler to allow it to commit by default and so long as I amend or otherwise fix things up before doing a push things are all good...)


Solution

  • Put this in $HOME/.gitconfig:

    [merge]
        ff = no
        commit = no
    

    You can use git-config to do this:

      git config --global merge.commit no
      git config --global merge.ff no