首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >重新组织项目文件夹后丢失git历史记录

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

Stack Overflow用户
提问于 2010-11-14 16:43:44
回答 5查看 8K关注 0票数 22

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

在读了几个问题( Getting Git to Acknowledge Previously Moved FilesHow to make git mark a deleted and a new file as a file move?)之后,我比刚开始的时候更迷茫了。从这些答案中听起来我根本无法解决这个问题?如果能帮上忙我会很感激的。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-11-29 17:10:41

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

一些工具,如GitHub,考虑将包含已删除的名为X的文件和已创建的名为X的文件的提交视为文件移动。

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

有关此主题的更多信息,请查看Linus Torvalds的this answer

票数 11
EN

Stack Overflow用户

发布于 2010-11-29 20:52:07

在我看来,你想要的是:

代码语言:javascript
复制
git log --follow some_file.cpp

详情请参见http://git-scm.com/docs/git-log。我不确定这是不是你想要的;但是对于git来说,git跟踪的是内容而不是文件。问题是,确定信息真的很昂贵,并且假设通常情况下你不需要它。

票数 4
EN

Stack Overflow用户

发布于 2010-11-14 16:59:21

如果您的历史记录中实际上缺少修订(从您的问题中不能完全清楚实际上缺少了什么),并且只有一个月左右,那么您可能还有时间--看看reflog;它保留了您签出的每个引用的副本,所以如果您犯了错误,您可以找回以前的引用。

默认情况下,reflog条目保留90天,它们将在git gc过期。

代码语言:javascript
复制
git help reflog
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4176784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档