git mv和变更和相似性指标

时间:2019-01-08 04:10:27

标签: git git-mv github-codereviews

使用git mv重命名文件时,提交将显示“重命名自”和“重命名至”,并且在“拉取”请求中也显示相同的内容,这很好。但是,当文件git mv被修改然后被更改时,它看起来存在一定的阈值,当更改的行数超过该阈值时,它将不再显示为重命名,而是显示为已删除旧文件并添加了新文件。 。所以我的问题是这个阈值是一个定义明确的数字吗?还有其他方法可以使它更好,主要是因为在pull request diff中,当两个文件都没有考虑重命名时,diff不会并排显示,这使得审核很困难。

1 个答案:

答案 0 :(得分:2)

它基于diff similarity index

  

如果指定了n,则它是相似性索引的阈值(即,与文件大小相比的添加/删除数量)。

     

例如,-M90%表示如果文件的90%以上没有更改,则Git应该将删除/添加对视为重命名。

     

没有%符号的情况下,该数字应作为分数读取,小数点前应有小数点。即-M5变成0.5,因此与-M50%相同。
  同样,-M05-M5%相同。

     

要将检测范围限制为确切的重命名,请使用-M100%

     

默认相似度索引为50%。

通常,最好先MV /重命名文件,然后提交,然后再 进行一些修改。
您可以做的两件事是,与文件的其余部分相比,修改是微不足道的(典型的情况是:重构包名称更改的地方)