重新组织项目文件夹后丢失的git历史记录?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (69)

大约一个月前,我做了一个承诺,我创建了新的文件夹和子文件夹,并在它们之间移动我的源代码文件。从那以后,我第一次查看我的历史,并意识到git已经“丢失”历史,因为原始文件被删除了,然后重新添加,我想--也就是说,当我在我的git GUI中查看一个文件时(它在NDA下,所以我不能直接讨论它,但例如,这个存储库在GitHub上也被破坏了。GitHub清楚地将其检测到的提交显示为一系列的移动。)它只显示每个文件的历史记录,然后返回到项目文件夹被重新组织时。

提问于
用户回答回答于

在Git中,没有文件移动的概念。

有些工具,如GitHub,考虑提交包含一个名为X的文件,该文件已被删除,而一个名为X的文件已创建为文件移动。

文件移动只是重构的一个特例;因此,Git不会区别对待它。与其他许多特殊情况一样,这种特殊情况的处理留给更高级的工具(如前端)。

用户回答回答于

你是否尝试将配置diff.renames?

diff.renames

告诉git来检测重命名。如果设置为任何布尔值,则启用基本重命名检测。如果设置为“复制”或“复制”,它也将检测副本。

注意:要跟踪跨重命名的单个文件的历史记录,需要使用“git log -p --follow file

扫码关注云+社区