如何配置“git pull --ff-only”和“git merge --no-ff”

时间:2016-02-09 16:07:36

标签: git git-merge git-pull git-config

我的典型git工作流是克隆远程存储库并使用git pull使其保持最新。我拉的时候不想要合并提交,所以我使用--ff-only选项。

我还为功能工作设立了本地分支机构。我想保留分支历史记录,所以当我将本地分支合并回我的本地克隆时,我使用--no-ff选项。

如何配置git默认使用这些选项?目前我的.gitconfig看起来像这样:

[merge]
  ff = false
[pull]
  ff = only

然而,git pull(实际上是git fetch和git merge)似乎正在拾取合并选项,因此创建了合并。

1 个答案:

答案 0 :(得分:12)

根据result = add(1, 2) # result equals 3 上的the git-config man page

,情况并非如此
  

(...)当设置为only时,仅允许此类快进合并(相当于从命令行提供-ff-only选项)。 此设置在拉时会覆盖merge.ff。

配置pull.ff已在Git 2.x中引入,因此它在Git 1.x上无法正常工作 - 它可能会选择pull.ff配置并在做拉。