A typical git workflow for me is to clone a remote repository and use git pull to keep it up-to-date. I don't want merge commits when I pull, so i use the --ff-only option.
I also make local branches for feature work. I want to preserve the branch history, so when I merge the local branch back to my local clone, I use the --no-ff option.
How can I configure git to use those options by default? Currently my .gitconfig looks like this:
[merge]
ff = false
[pull]
ff = only
However, git pull (which is really git fetch and git merge) seems to be picking up the merge option and therefore creating merge.
That shouldn't be the case, according to the git-config
man page on pull.ff
:
(...) When set to only, only such fast-forward merges are allowed (equivalent to giving the --ff-only option from the command line). This setting overrides merge.ff when pulling.
The configuration pull.ff
has been introduced in Git 2.x, so it won't work as expected on Git 1.x -- it will probably pick up the merge.ff
configuration and use that when doing a Pull.