git 合并 --strategy 与 --strategy-option

git merge --strategy vs. --strategy-option

git合并选项有什么区别 --strategy-option(短-X) 和 --strategy(简称 -s)?

有很多关于 merge strategies 的问题。但是 none 解释这些选项之间的区别。

此外 git documentation 也没有帮助:

--strategy-option Pass merge strategy specific option through to the merge strategy.

TL;DR: -s 用于指定合并策略 -X 用于为所述策略提供选项。

git 文档说:

-s <strategy>
--strategy=<strategy>

使用给定的合并策略;可以多次提供以按照应尝试的顺序指定它们。如果没有 -s 选项,则使用内置的策略列表(合并单个头时 git 合并递归,否则 git 合并章鱼)。

-X <option>
--strategy-option=<option>

将合并策略特定选项传递给合并策略。

此外,在 MERGE STRATEGIES 一章的后面解释了所有可用的策略及其选项。

合并允许使用 -s 选项选择后端 'merge strategies'。一些策略也可以采用自己的选项,可以通过将 -X 参数传递给 'git-merge' and/or 'git-pull'.

在非常高的水平上,1.7 的策略选项支持以下内容

  • 解决
  • 递归
    • 我们的
    • 他们的
    • 子树[=路径]
  • 章鱼
  • 我们的
  • 子树

详情请参考documentation