更改 git merge 的相似性索引阈值并涉及重命名(例如 diff 上的 -M[n] --find-renames[=n])

问题描述 投票:0回答:2

我们在

diff
(
log
,
show
) 和
merge
:

期间提供了一些用于重命名检测启发式的配置选项

diff.renameLimit 执行复制/重命名检测时要考虑的文件数量;相当于 git diff 选项 -l。

diff.重命名 告诉 git 检测重命名。如果设置为任何布尔值,它将启用基本的重命名检测。如果设置为“副本”或“复制”,它也会检测副本。

merge.renameLimit 在合并期间执行重命名检测时要考虑的文件数量;如果未指定,则默认为 diff.renameLimit 的值。

我们还可以选择控制何时将具有不同内容的文件视为

diff
的重命名(
log
show
):

-M[] (或--find-renames[=])

检测重命名。如果指定了 n,则它是相似性指数的阈值(即与文件大小相比的添加/删除量)。例如,-M90% 表示如果超过 90% 的文件未更改,则 git 应将删除/添加对视为重命名。

问题:如何控制合并相似度索引的阈值?它似乎只能作为

diff
和其他一些人的命令行选项使用,但不能作为
merge
的命令行选项。即使对于
diff
也没有配置键。是否由于某种原因不适用于
merge

git dvcs
2个回答
8
投票

如果您使用递归合并策略(默认)进行合并,您可以使用重命名阈值选项:

git merge -X rename-threshold=80 branch

0
投票

如何在配置中设置重命名阈值或-M...? (通过“git config ...”)?

我发现的唯一信息是这是不可能的,是真的吗? (是否有相当于 git diff -M 和 git merge -X rename-threshold 选项的 git 配置选项?

© www.soinside.com 2019 - 2024. All rights reserved.