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

Mat*_*s M 2 git git-merge

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

有关合并策略的问题很多.但没有人解释这些选项之间的区别.

另外git文档没有帮助:

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

aPh*_*lRa 9

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

git文档说:

-s <strategy>
--strategy=<strategy>
Run Code Online (Sandbox Code Playgroud)

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

-X <option>
--strategy-option=<option>
Run Code Online (Sandbox Code Playgroud)

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

此外,MERGE STRATEGIES一章下面还介绍了所有可用的策略及其选项.

  • 我喜欢说`-X'代表`eXtend`,如*在您选择的策略中添加更多选项。*本质上,我认为* names“策略”和“策略选项”本质上是令人困惑的,但是“策略”和“对/针对*策略的扩展选项”至少要少一些。 (3认同)