Git:移动目录后保存文件历史记录



我想将目录移动到另一个目录,其中包含 git 下的文件历史记录。

现在我有带有类的"缺陷"文件夹

我想将其移动到"检查"目录中,如下所示:

搬家后

但是移动后,我在"缺陷"目录中丢失了所有文件的 git 历史记录。

显示历史记录,移动目录后任何文件的结果为空

我尝试在Android工作室中使用折射器移动,也git mv defects inspections.两者都给了我相同的结果:"显示历史记录"在移动后对于任何文件都变为空。我知道这不是这个主题的第一个问题,但我真的不知道我做错了什么。请解释一下我:)

Git 不跟踪文件,它跟踪内容。在它的大脑中,文件只是元数据。如果您要求它提供文件的历史记录,它会在当前快照中查找该内容,然后通过历史记录向后跟踪内容。

如果要跟踪移动过程中的内容,则必须从其当前位置开始,并明确告诉 git 查找移动的文件。

git log --follow -- <file>

应该带你去你要去的地方。

请注意,git 不会显式跟踪移动数据,而是根据相似性索引进行推断。如果超过 50% 的文件发生了更改,默认情况下 git 不会将其识别为已移动。

最新更新