文件移动,git mv显示为已删除/已添加
我在Git repo的特定目录中有许多文件。我对所有文件进行了不同程度的更改,添加了它们,然后通过文件移动,git mv显示为已删除/已添加,git,Git,我在Git repo的特定目录中有许多文件。我对所有文件进行了不同程度的更改,添加了它们,然后通过gitmv将文件移动到一个新的子目录。现在,当我查看git状态时,我看到: renamed: path/file1.ext -> path/to/file1.ext new file: path/to/file2.ext deleted: path/file2.ext file2.ext确实比file1.ext做了更多实质性的更改,但仍然。。。为什么file2.ext没有显示
gitmv
将文件移动到一个新的子目录。现在,当我查看git状态时,我看到:
renamed: path/file1.ext -> path/to/file1.ext
new file: path/to/file2.ext
deleted: path/file2.ext
file2.ext
确实比file1.ext
做了更多实质性的更改,但仍然。。。为什么file2.ext
没有显示为重命名
看起来git似乎有一些变化阈值。如果对某个文件的更改超过某个百分比,则不要将其视为重命名文件,而是将其视为删除的旧文件和创建的新文件。这是正确的。Git不跟踪重命名;相反,它着眼于文件内容如何变化以及如何从一个位置移动到另一个位置。如果一个文件消失,并且有足够的内容以新名称显示,git会将其显示为重命名。(无论何时查看提交历史记录,这都是动态完成的。) 发件人:
-M[]
--查找重命名[=]
检测重命名。如果指定了n
,则它是相似性索引的阈值(即与文件大小相比的添加/删除量)。例如,<代码> -M90%<代码>意味着如果超过90%的文件没有改变,Git应该考虑删除/添加对是重命名。如果没有%
符号,则数字将被读取为小数,前面有一个小数点。即,-M5
变为0.5,因此与-M50%
相同。类似地,-M05
与-M5%
相同。要将检测限制为精确重命名,请使用-M100%
。默认的相似性指数是50%