我知道默认的重命名限制是 100,我们可以使用配置增加这个值diff.renamelimit config
我担心的是,如果未设置此配置,是否会出现错误的合并或缺少任何代码?我正在尝试合并(git merge)2 个发生巨大变化的分支。
有人可以对此配置设置进行更多说明吗?
我知道默认的重命名限制是 100,我们可以使用配置增加这个值diff.renamelimit config
我担心的是,如果未设置此配置,是否会出现错误的合并或缺少任何代码?我正在尝试合并(git merge)2 个发生巨大变化的分支。
有人可以对此配置设置进行更多说明吗?
您的内容是安全的。
据我了解,git
实际上并没有任何一流rename
操作的概念(仅bzr
在 3 大 DVCS 中):mv
是底层机器之上的糖,基本上是 anadd
和 a rm
。但是,由于git
可以跟踪在此类操作期间更改的内容,因此可以使用启发式方法来猜测 aadd
和 a何时rm
实际上是 a mv
。由于这需要更多的工作,而不仅仅是显示git
实际记录的内容——文档git-diff
解释说它“......需要 O(n^2) 处理时间,其中 n 是潜在的重命名/复制目标的数量”——<code>git 赢了当涉及的文件太多时,不要尝试。您提到的设置仅控制该阈值。
万一这对任何人都有帮助,我在一个分支中有很多文件(数百个,如果不是数千个),而另一个分支中还没有。跑步
$ git config merge.renamelimit 15345
合并时出现以下错误消失
$ git merge master
.
.
.
warning: inexact rename detection was skipped due to too many files.
warning: you may want to set your merge.renamelimit variable to at least 15345 and retry the command.