Git 在时间机器恢复后已过期



我刚刚使用Time Machine将Mac恢复到10天前的状态。然后,我将网站的存储库文件夹更新回 1 天前以继续编码。

当我运行git statusgitk时,它显示的是 10 天的旧视图,而不是当前视图,因此它缺少一些最近的提交。我必须更新以获取当前数据的文件夹/文件在哪里?

如果需要此澄清,我在 Github 上的origin已从 6/10、6/7、6/1 和 5/30 提交。我的错误git status只显示提交 6/1 和 5/30,其他文件只是在暂存区域中浮动,就好像从未提交过一样。

我不熟悉时间机器,但这听起来有点像当您使用 Dropbox 或 Spideroak 等在多台计算机上共享存储库时会发生什么。该系统基本上试图跟上你在存储库中的工作,但它针对后台工作进行了优化,并且不会干扰您对计算机的积极使用,因此,如果它不是 100% 跟踪 .git 文件夹中从一台计算机到另一台计算机的所有文件更改,您可能会得到一个损坏的存储库。我想知道您的备份系统中的这种操作是否导致了同样的问题?

无论如何 - 尝试创建一个新的空存储库文件夹并从 github 中提取项目的全新副本。

问题的原因

我的本地文件夹包含一个隐藏的 .git 文件夹,它是本地存储库(谢谢@JonathanLeffer)。当我选择存储库中的所有文件进行手动恢复时,时间机器没有恢复 .git 文件夹。

溶液

我手动将 .git 恢复到 1 天前的状态,确保为所有文件选择"替换",以确保旧文件被新文件覆盖。运行 gitk 后,所有提交在 6/10、6/7、6/1 和 5/30 都是可见的。

最新更新