【问题标题】:git mv and changes and similarity indexgit mv 和变化和相似性指数
【发布时间】:2019-01-08 04:10:27
【问题描述】:

当使用git mv 重命名文件时,提交将显示rename from 和rename to,并且在pull request 中显示相同,这很好。但是当一个文件被git mved 然后更改时,看起来有一个阈值,当更改的行数超过它时,它将不再显示为重命名,而是显示为删除旧文件并添加新文件。所以我的问题是这个阈值是一个定义明确的数字吗?有没有其他方法可以让它变得更好,主要是因为在pull request diff中,当两个文件不考虑重命名时,diff不会并排显示,这使得审查变得困难。

【问题讨论】:

    标签: git git-mv github-codereviews


    【解决方案1】:

    它基于diff similarity index

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

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

    如果没有% 符号,则该数字将被读取为分数,前面有一个小数点。即,-M5 变为 0.5,因此与 -M50% 相同。
    同样,-M05-M5% 相同。

    要将检测限制为精确重命名,请使用-M100%

    默认相似度指数为 50%。

    更一般地说,最好先 mv/rename 一个文件,提交,然后做一些修改。
    你可以同时做这两个,与文件的其余部分相比,修改是很小的(典型情况:重构只改变了包的名称)

    【讨论】:

    • 是的,一个提交中的 mv ,另一个中的更改似乎是一个不错的选择。谢谢。
    猜你喜欢
    • 2011-04-08
    • 1970-01-01
    • 2021-09-13
    • 1970-01-01
    • 1970-01-01
    • 2017-03-24
    • 2012-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多