首页 > 解决方案 > 文件完全从我的存储库中消失了,硬重置没有帮助,我能做些什么吗?

问题描述

我有一个 GitHub 私人仓库,我通过 Visual Studio for Mac 2019 将我的更改推送到该仓库。

背景故事

我直接在 GitHub 上添加了一个自述文件,几周后我编辑了本地副本并尝试推送我的更改。我做不到,因为它说我远程进行了本地没有的更改,这很好。

然后我将我的更改隐藏在 VS for Mac 中,并尝试提取,这似乎有效。

然后我尝试应用我的存储,并且我不断收到随机错误。以为我可能必须更新 VS for Mac,我也这样做了。

然后更新后,我无法打开本地仓库中的任何文件,因为它一直说BeginBatchUpdate called twice without calling EndBatchUpdate.

我重新启动了 VS for Mac,然后我尝试构建我的项目,但我注意到一个文件丢失了。

我试图检查早期的提交,但就好像它从未存在过一样——该文件在早期的提交中也不存在……我试过了git reset --hard,不走运,我试着检查我git reflog是否在它除了提交、重置和签出之外,所以我不知道文件怎么会像这样消失。

问题

有没有机会取回那个随机删除的文件?

标签: gitgithub

解决方案


在 git 中,版本控制的主要节点是提交。首先,我会尝试列出所有与您的自述文件有关的提交。如果该列表不为空,则检查这些提交应该使您能够恢复该文件。

如果提交列表为空,则您没有对该文件的提交,这意味着它实际上从未被版本化。

你隐藏了自述文件的事实让我认为它可能没有提交,因为如果它被提交,那么当你执行 git pull 时你会有一个合并,最坏的情况是解决一些合并冲突。

因此,我想您无法使用 git 恢复您的文件,并且对于未来,我建议您应该始终执行提交和合并以处理版本差异,而不是隐藏您的更改。

可能有可能恢复该文件,例如:https ://www.wondershare.net/ad/data-recovery-mac.html?gclid=Cj0KCQiAqY3zBRDQARIsAJeCVxNPQ4CPnwkNJ5DvKIlrmDgT6gtFjldFcrNK-k7njZJLxJxC6AeABFMaAjwmEALw_wcB

但是,自述文件的丢失,除非它很长,否则可能是通过重写它来解决的问题。重要的是要从这个问题中吸取教训,并确保您将来不会因为更可怕的后果而失去您的工作。


推荐阅读