问题
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.
回答1:
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.
来源:https://stackoverflow.com/questions/35296680/how-to-configure-git-pull-ff-only-and-git-merge-no-ff