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

时间:2017-12-11 12:58:59

标签: git git-merge

git merge选项有什么区别 --strategy-option(简-X) 和 --strategy(简-s)?

关于merge strategies,有很多问题。但没有人解释这些选择之间的区别。

此外git documentation无效:

  

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

2 个答案:

答案 0 :(得分:8)

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

git文档说:

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

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

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

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

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

答案 1 :(得分:1)

合并允许使用-s选项选择后端“合并策略”。一些策略也可以采用自己的选项,可以通过给'git-merge'和/或'git-pull'提供-X参数来传递。

在非常高的层面上,1.7

的策略选项支持以下内容
  • 决心
  • 递归
    • 我们
    • 他们
    • 子树[=路径]
  • 章鱼
  • 我们
  • 子树

有关详细信息,请参阅documentation