Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to configure "git pull --ff-only" and "git merge --no-ff"

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.

like image 808
Robert Huffman Avatar asked Feb 09 '16 16:02

Robert Huffman


1 Answers

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.

like image 105
alextercete Avatar answered Nov 16 '22 01:11

alextercete