【发布时间】:2022-12-15 14:04:30
【问题描述】:
我不知道如何,但默认合并策略在我的电脑中是ort,但我想将其更改为recursive。我参考了一些在线资源,但没有一个有用。有人能告诉我如何更改我的默认合并策略吗?
【问题讨论】:
-
请阐明您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
标签: git merge git-merge merge-strategy
我不知道如何,但默认合并策略在我的电脑中是ort,但我想将其更改为recursive。我参考了一些在线资源,但没有一个有用。有人能告诉我如何更改我的默认合并策略吗?
【问题讨论】:
标签: git merge git-merge merge-strategy
你不能:1个这默认git merge、git cherry-pick 等的合并策略是硬编码的。2个你能够手动或通过别名轻松运行git merge -s recursive。
-s recursive 和-s ort 策略是应该产生相同的结果,除非 -s recursive 会退出但 -s ort 可以成功。如果您遇到不正确的情况,请将其报告给 Git 开发人员。
1个无论如何,对于“不能”的一些定义:如果你足够努力,你当然可以。例如,只需克隆 Git 并对其进行定制。
2个特别是对于git merge,默认为octopus,当给出多个头时,否则为ort或recursive中的任何一个,它适用于您的特定Git版本。
【讨论】:
TLDR;
设置环境变量GIT_TEST_MERGE_ALGORITHM=recursive
在git的source code中发现它首先检查环境变量GIT_TEST_MERGE_ALGORITHM
一旦将值设置为recursive,它就会更改默认的合并策略。
我不认为这是最干净的解决方案,因为环境变量中的TEST(可能用于测试)但它总比什么都没有好。
【讨论】: