我肯定做错什么了。有2
分支,develop
和feature
。
我决定启动feature
分支并实现一些根本性的更改。这包括重命名文件(更改文件名和路径)和内部内容。内容变化约30-40%。
在此期间,develop
分支继续使用新代码dvp,然后进行合并feature -> develop
。
在合并期间,feature
到develop
,由于某种原因,git将新文件从feature
分支重命名为develop
分支中的名称。根据我使用的git扩展GUI,git似乎检测到了文件路径的变化(从文件内容的相似性?)。
git漫不经心地认为它可以更改文件名和路径的原因是什么?这确实破坏了构建,因为在C语言中,#include "file.."
不再被发现。
发布于 2022-11-01 05:15:05
默认情况下,git diff
和git merge
都认为删除的文件和添加的文件具有类似的50%的重命名。我同意,这似乎太低了,一个默认的门槛,但它往往运作良好。
这两个命令支持--find-renames=NN%
开关来调整这个阈值。--find-renames=100%
将要求添加和删除的文件在被视为重命名之前是相同的,这可能就是您所需要的。--find-renames=90%
也可能有效。
参考文献:查找--find-rename
https://stackoverflow.com/questions/74276392
复制相似问题