强制文件历史关联 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 实际上并不跟踪您是否复制或重命名了文件——它只跟踪内容。
我重构了一个项目,将文件移动到不同的目录并将模块拆分为多个子模块,所以我的文件架构现在与以前完全不同。
有什么方法可以告诉我 git 它认为已删除的哪些文件实际上只是新文件?我知道如果我在单独的提交中移动和重命名,git 应该会自动确定这一点,但我已经完成了重构,不想重做。
简而言之,我喜欢这样的命令:
git associate /path/to/deleted_file /path/to/new_file
不是,不是。一些 Git 子命令采用标志,这些标志将尝试更积极地跟踪重命名和复制。例如,git log
有一个 --follow
标志来跟随文件重命名。一些命令具有 -M
和 -C
标志,它们试图更积极地查找重命名和副本;这些标志采用可选值来指定应被视为重命名或复制的阈值。一些子命令甚至有一个 --find-copies-harder
可以更积极地计算重命名和复制。
但总的来说,不会。 Git 实际上并不跟踪您是否复制或重命名了文件——它只跟踪内容。