Git merge保持mv历史

时间:2016-11-22 12:50:01

标签: git merge move

我最近使用git mv对分支中的文件夹结构进行了重大更改,导致没有添加/删除文件重命名以保留历史记录。

将此分支合并到其他分支会导致所有包含内容更改的文件的添加/删除。

Git显然理解自尝试执行删除/添加以来移动的文件。

如何在与重命名文件合并期间确保文件的历史记录保持不变?

1 个答案:

答案 0 :(得分:0)

Git实际上并不跟踪重命名,而是通过确定删除的文件和添加的文件匹配的数量来启发性地推断它们。有一些配置(和命令行选项)可以帮助检测:

[diff]
    renamelimit = 3000

您可以通过git config --global diff.renameLimit 3000设置。还有merge.renameLimit,但如果未设置,则默认为diff.renameLimit。不幸的是,我找不到任何记录的默认值,但source code似乎表明400是默认限制。

或者您可以查看-l的{​​{1}}选项以及git diff / -M选项。

相关问题