如何在git中恢复不正确移动文件的历史记录?

时间:2015-04-27 12:28:20

标签: git

我在我的存储库中移动了文件,git没有检测到这是移动。它检测到删除和添加文件。我提出了这个改变,然后做了很多其他事情。之后,我意识到我无法看到移动文件的历史记录。

我找到了我的错误原因,现在我想找到如何解决这个问题。

有没有办法恢复文件的历史记录?

Viewing GIT history of moved files解决方案无法解决我的问题,因为我没有正确移动文件。所有的历史都丢失了。

1 个答案:

答案 0 :(得分:0)

首先,我认为你在NSString *deviceType = [UIDevice currentDevice].model; if([deviceType isEqualToString:@"iPhone"]) { } 中误解了重命名。对于git,文件永远不会被错误地移动"因为git跟踪内容而不是文件和文件名。 git的创建者Linus Torvalds说这是关于重命名的:

  git真的不关心整个"重命名检测"在内部,你用重命名做的任何提交完全独立于我们用来显示重命名的启发式。 1

因此实际可能发生的事情是git不适合您,因为git log --follow仅检查默认情况下50%相似的文件的重命名。但是,您的文件可能只与其重命名的版本类似20%或30%。尝试使用不同值低于50%的--find-renames=<n>,看看是否能解决问题:

--follow
  1. http://marc.info/?l=git&m=119638337122721&w=2