当使用 重命名文件时git mv
,提交将显示 rename from 和 rename to,并且在 pull request 中显示相同,这很好。但是当一个文件被git mv
编辑然后更改时,看起来有一个阈值,当更改的行数超过它时,它将不再显示为重命名,而是显示为删除旧文件并添加新文件。所以我的问题是这个阈值是一个定义明确的数字吗?还有没有其他方法可以让它变得更好,主要是因为在 pull request diff 中,当两个文件不考虑重命名时,diff 不会并排显示,这使得审查变得困难。
问问题
984 次
1 回答
4
它基于差异相似性指数
如果
n
指定,它是相似性指数的阈值(即添加/删除量与文件大小相比)。例如,
-M90%
意味着如果超过 90% 的文件没有更改,Git 应该将删除/添加对视为重命名。如果没有
%
符号,数字将被读取为分数,前面有小数点。即,-M5
变为0.5
,因此与 相同-M50%
。
同样,-M05
与 相同-M5%
。要将检测限制为精确的重命名,请使用
-M100%
.默认相似度指数为 50%。
更一般地说,最好先 mv/rename 一个文件,提交,然后进行一些修改。
你可以做这两个是说与文件的其余部分相比修改很小(典型情况:重构只更改包的名称)
于 2019-01-08T05:41:03.303 回答