【问题标题】:Files missing in Git repositoryGit 存储库中缺少文件
【发布时间】:2015-07-31 22:56:40
【问题描述】:
  • 我创建了一个名为 “克隆仓库”。

  • 然后我在我的机器上本地克隆了空存储库 文件夹 htdocs。

  • 然后我拖动了一个名为“codebase”的文件夹,其中包含所有代码 克隆的空仓库“clonedRepo”。

  • 然后我使用 Mac OS X 的 Github 应用程序提交并推送所有 文件夹“codebase”下的代码到“clonedRepo”,但提交 失败,因为几个视频文件太大,这是公平的 够了。

  • 我点击了撤消提交按钮。

  • 但突然之间,“代码库”下的所有文件都消失了。这 目录仍然存在,但文件已消失。

  • 我在终端中为这个本地仓库尝试了“git stash list”,但是 只是返回默认的命令提示符。

我没有此代码的备份,它对我来说非常重要,因为我几周以来一直在处理这个问题,但是从头开始重新编写它既耗时又乏味。知道我怎么能把它找回来吗?我没有删除本地克隆的 repo 或其中的任何内容。本地 repo 显示其自身价值 302 MB,但包含仅价值 46KB 的可见内容。请帮忙。

【问题讨论】:

  • 撤消提交不会删除任何文件。您确定您没有运行revertreset?如果您输入 git reflog 会发生什么情况,您可以粘贴该命令的结果吗?
  • 查看您的 .git 文件夹,这就是占用您所有空间的原因。然后你可以看看这个answer 尝试从你的对象目录中恢复
  • @bitoiu This is the output from git reflog : 46e2eb0 HEAD@{0}: reset: moving to 46e2eb01205202cb31e95be55aa1108ba61b2639 c1710f2 HEAD@{1}: reset: moving to c1710f200b0265136d0997d3820b36b9fe7a68a1 3af2dc6 HEAD@{2}: revert :还原“所有最新” c1710f2 HEAD@{3}:提交:所有最新 46e2eb0 HEAD@{4}:克隆:来自github.com/chaitanyaagrawal/ucl-summer-research-internship.git
  • 您期望什么?您单击“撤消提交”,此提交的更改(添加您的文件)被撤消。这正是事情应该如何运作的。恢复:git log --oneline --> 搜索引入您的代码库文件的提交的哈希 --> git reset --hard <HASH-OF-THAT-COMMIT>。完成

标签: git missing-data


【解决方案1】:

首先,我要感谢@bitoiu、@Fredric 和@eckes 的帮助。

  • 所以基本上当我将我的代码库添加到一个空的存储库和 已提交,无法推送提交,因为 代码库大于 100MB。按“撤消提交”我 相信我失去了所有的代码库。

  • 但实际上发生的事情是它被移动到了一个隐藏的 .git 文件夹
    在存储库中。

  • 要显示存储库下的隐藏文件,请参阅此链接: http://ianlunn.co.uk/articles/quickly-showhide-hidden-files-mac-os-x-mavericks/

  • 然后键入git reflog 以获取 HEAD 的当前和过去的哈希码。

  • 然后键入git reset --hard <hash code of the commit that introduced the files> 以填充您的
    下所有丢失的文件 存储库。有关git reset 和使用--hard 的更多信息可以 可以在这里找到:Whats the difference between git reset --mixed, --soft, and --hard?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    相关资源
    最近更新 更多