我不知道如何,但默认的合并策略是ort在我的电脑,但我想改变它为recursive。我参考了一些在线资源,但他们都没有用。有人能告诉我如何改变我的默认合并策略吗?
ort
recursive
cbwuti441#
您不能:1 git merge、git cherry-pick等的 * 默认 * 合并策略是硬编码的。2您 * 可以 * 轻松地手动或通过别名运行git merge -s recursive。-s recursive和-s ort策略应该产生相同的结果,除非-s recursive可以退出,而-s ort可以成功。如果你遇到这种情况,请向Git开发人员报告。1无论如何,对于“不能”的某些定义:如果你足够努力,你当然可以。2例如,克隆Git并定制它。2特别是对于git merge,当给定多个头时,默认值为octopus,否则,对于特定的Git版本,默认值为ort或recursive。
git merge
git cherry-pick
git merge -s recursive
-s recursive
-s ort
octopus
fkaflof62#
设置环境变量GIT_TEST_MERGE_ALGORITHM=recursive在git的源代码中发现了它首先检查环境变量GIT_TEST_MERGE_ALGORITHM一旦将值设置为recursive,它将改变默认的合并策略。我不认为这是最干净的解决方案,因为环境变量中有TEST(可能是为了测试),但总比什么都没有好。
GIT_TEST_MERGE_ALGORITHM=recursive
GIT_TEST_MERGE_ALGORITHM
TEST
2条答案
按热度按时间cbwuti441#
您不能:1
git merge
、git cherry-pick
等的 * 默认 * 合并策略是硬编码的。2您 * 可以 * 轻松地手动或通过别名运行git merge -s recursive
。-s recursive
和-s ort
策略应该产生相同的结果,除非-s recursive
可以退出,而-s ort
可以成功。如果你遇到这种情况,请向Git开发人员报告。1无论如何,对于“不能”的某些定义:如果你足够努力,你当然可以。2例如,克隆Git并定制它。
2特别是对于
git merge
,当给定多个头时,默认值为octopus
,否则,对于特定的Git版本,默认值为ort
或recursive
。fkaflof62#
设置环境变量
GIT_TEST_MERGE_ALGORITHM=recursive
在git的源代码中发现了它首先检查环境变量
GIT_TEST_MERGE_ALGORITHM
一旦将值设置为
recursive
,它将改变默认的合并策略。我不认为这是最干净的解决方案,因为环境变量中有TEST
(可能是为了测试),但总比什么都没有好。