【问题标题】:How to configure "git pull --ff-only" and "git merge --no-ff"如何配置“git pull --ff-only”和“git merge --no-ff”
【发布时间】:2016-05-19 17:04:36
【问题描述】:

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    根据the git-config man pagepull.ff 上的说法,情况并非如此:

    (...) 当设置为 only 时,只允许这样的快进合并(相当于从命令行给出 --ff-only 选项)。 此设置在拉取时会覆盖 merge.ff

    pull.ff 配置已在 Git 2.x 中引入,因此它不会在 Git 1.x 上按预期工作 - 它可能会选择 merge.ff 配置并在执行 Pull 时使用它。

    【讨论】:

    • 哈!我知道这曾经对我有用。我最近重新安装了 Linux Mint,完全忘记检查 git 的版本。 “官方”存储库仍在 1.9 上!
    • 由于某种原因,pull.ff 没有在选项卡完成中列出,但它的工作原理都是一样的。
    • 这个.ff 选项是否有每个分支的版本?类似于branch.<name>.mergeOptions的东西?
    猜你喜欢
    • 2014-10-15
    • 2012-02-22
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    • 2012-07-21
    • 2015-10-11
    相关资源
    最近更新 更多