为啥 GitHub 在提交历史记录时不显示文件历史记录?

Posted

技术标签:

【中文标题】为啥 GitHub 在提交历史记录时不显示文件历史记录?【英文标题】:Why GitHub doesn't display the file history when the commit history does?为什么 GitHub 在提交历史记录时不显示文件历史记录? 【发布时间】:2014-10-05 12:03:03 【问题描述】:

我最近发现了一个关于 GitHub 存储库的奇怪行为。

当我选择文件然后选择它的历史时(因为我想查看对该文件的所有更改/提交),只有一个 - 最后一个提交:beans/AuthenticationBean.java

但是,当我检查对整个存储库的所有提交(具有存在语言统计信息的文件夹结构的主页、提交数量等)时,我可以找到 5 个包含对此文件的更改的提交,如 this commit。

我不知道这是否与我在整个项目中所做的一次还原有关。 我在某处读过可能会导致历史重置之类的内容。 但如果您能帮助或向我解释这种情况,我会很高兴。

【问题讨论】:

你能分享那个 repo 的 url 和那个 repo 中的那个文件吗? github.com/MarianMacik/Kartoteka - repo 和 github.com/MarianMacik/Kartoteka/blob/master/src/main/java/cz/… - 文件 - 通过文件历史记录只有一个版本,但文件已经存在于提交 github.com/MarianMacik/Kartoteka/commit/… 【参考方案1】:

一个是:src/main/java/cz/muni/fi/macik/kartoteka/beans/AuthenticationBean.java

另一个是:src/main/java/cz/muni/fi/pv168/kartoteka/AuthenticationBean.java

这意味着该文件已移动,并且 GitHub 不支持 git log --follow,正如 GitHub 支持在 2014 年 2 月所证实的那样:请参阅“github follow history by default?”。

这就是为什么文件的历史记录仅限于移动后完成的提交。

【讨论】:

谢谢!我忘记了我正在做文件重组。 ;)

以上是关于为啥 GitHub 在提交历史记录时不显示文件历史记录?的主要内容,如果未能解决你的问题,请参考以下文章

github 强制删除历史记录

为啥显示在“推送”中的提交没有显示在“历史”中?

如何将代码从新的本地文件夹推送到现有 Github 存储库的主分支并保留提交历史记录?

如何在rails的gitlab中获取用户的提交历史

markdown GitHub - 使用git命令删除提交历史记录

推荐一个以动画效果显示github提交记录的黑科技工具:Gource