我知道默认的重命名限制是 100,我们可以使用配置 diff.renamelimit config
增加这个值
我担心的是,如果未设置此配置,是否会出现错误的合并或缺少任何代码?我正在尝试合并(git merge)2 个发生巨大变化的分支。
有人可以对此配置设置进行更多说明吗?
您的内容是安全的。
据我了解,git
实际上没有任何一流 rename
操作的概念(只有 bzr
有,在三大 DVCS 中):mv
是底层机制之上的糖,它基本上是一个 add
和一个 rm
。不过,由于 git
可以跟踪此类操作期间更改的内容,因此它可以使用启发式方法来猜测 add
和 rm
何时实际上是 mv
。由于这比仅显示 git
实际记录的内容需要更多的工作 - git-diff
的文档解释说它“...需要 O(n^2) 处理时间,其中 n 是潜在的重命名/复制目标的数量” —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.
不定期副业成功案例分享