我有两种情况
示例:
$ git log src/main/java/com/mywork/app/App.java
commit 9408dc7ed160d2a1235a2d30ff54458fef4ec2dc
Author: xybrek <x@gmail.com>
Date: Fri Apr 18 19:03:16 2014 +0800
Commit src files至少这里应该是文件被移动之前的完整历史记录。这有可能吗?
发布于 2014-04-19 13:57:47
历史并没有丢失,但是您需要告诉Git跟随重命名。您通常使用git log --follow path/to/file来完成此操作。
关于更多信息,Git不显式地记录重命名,而是使用启发式方法。关于这方面的常见问题条目说:
Git必须与许多不同的工作流进行互操作,例如,一些更改可能来自补丁程序,在这些修补程序中可能无法获得重命名信息。依赖显式重命名跟踪使得不可能合并两棵完成了完全相同事情的树,只有一棵树作为补丁(创建/删除)进行合并,另一棵树使用其他启发式方法进行合并。 第二个注意事项是,跟踪重命名实际上只是跟踪内容在树中移动的特殊情况。在某些情况下,您可能对查询某个函数何时添加或移动到其他文件感兴趣。仅依靠在需要时重新创建这些信息的能力,Git旨在提供一种更灵活的方法来跟踪您的树是如何变化的。
还有一些与重命名相关的选项。在.rename手册页面中查找git-config。
https://stackoverflow.com/questions/23170523
复制相似问题