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

时间:2018-01-11 17:42:26

标签: git android-studio

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

Now i have "defects" folder with classes

我想把它移到“检查”目录中,如下所示:

After moving

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

Show history gimme an empty result for any file after moving directory

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

1 个答案:

答案 0 :(得分:1)

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

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

git log --follow -- <file>

应该让你到达目的地。

请注意,git没有明确跟踪移动数据,但是根据相似性索引推断出移动数据。如果超过50%的文件发生了变化,git默认情况下不会将其识别为已移动。