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

Rob*_*man 18 git git-pull git-merge git-config

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

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

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

[merge]
  ff = false
[pull]
  ff = only
Run Code Online (Sandbox Code Playgroud)

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

ale*_*ete 13

根据以下git-config手册页,情况应该不是这样的pull.ff:

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

该配置pull.ff已在Git 2.x中引入,因此它在Git 1.x上无法正常工作 - 它可能会获取merge.ff配置并在执行Pull时使用它.

  • 哈!我知道这在某一时刻对我有用。我最近重新安装了 Linux Mint,完全忘记检查 git 的版本。“官方”存储库仍然是 1.9! (3认同)
  • 这个“.ff”选项有每个分支的版本吗?类似于 `branch.<name>.mergeOptions` 的东西? (2认同)