强制文件历史关联 Git

Force file history associations with Git

我重构了一个项目,将文件移动到不同的目录并将模块拆分为多个子模块,所以我的文件架构现在与以前完全不同。

有什么方法可以告诉我 git 它认为已删除的哪些文件实际上只是新文件?我知道如果我在单独的提交中移动和重命名,git 应该会自动确定这一点,但我已经完成了重构,不想重做。

简而言之,我喜欢这样的命令:

git associate /path/to/deleted_file /path/to/new_file

不是,不是。一些 Git 子命令采用标志,这些标志将尝试更积极地跟踪重命名和复制。例如,git log 有一个 --follow 标志来跟随文件重命名。一些命令具有 -M-C 标志,它们试图更积极地查找重命名和副本;这些标志采用可选值来指定应被视为重命名或复制的阈值。一些子命令甚至有一个 --find-copies-harder 可以更积极地计算重命名和复制。

但总的来说,不会。 Git 实际上并不跟踪您是否复制或重命名了文件——它只跟踪内容。