我遇到了一个不幸的事件,即在切换我没有推送到我的远程存储库的Git分支时获得BSOD。 计算机重新启动并重新登录后,我发现我的工作区已损坏。以下是症状:
有人可以帮助我让工作区再次进入工作状态,或者恢复分支或藏匿中的某些文件吗?
答案 0 :(得分:8)
在我以前的同事的帮助下,我想出了如何从中恢复过来。您可能希望这样做是最后的手段,因为您可能会丢失一些信息,并且由于损坏,这可能不起作用。
让我们将损坏的工作空间命名为“corruptWorkspace”,要修复的工作空间是“fixWorkspace” 您需要做的第一步是创建一个新的工作区来进行恢复并复制对象并参考:
从这里你可以恢复分支/提交。
此命令应该是可读的并显示上次提交更改
确认分支看起来没问题后,尝试检查
然后你可以重置分支
此时您拥有分支的最新提交版本。下一步是恢复存储文件。
列出要存储的文件以供您恢复,从这里您可以获取用于恢复文件的存储位置和文件
恢复藏匿文件
对所有藏匿文件完成上述命令后,您已完成获取分支和存储文件。如果配置文件没有损坏,您甚至可以复制“origin”定义并推送您的更改。
祝你好运
答案 1 :(得分:1)
今天早上我的一个本地存储库遇到了同样的问题。在我使用Git的这些年里,我从未见过这个。我一直在使用这个特殊的仓库4个月,但现在它告诉我,当所有目录和文件(包括.git)都存在时,它不是git存储库。我有一些问题,我的机器(Windows 7)在晚上关闭,没有明显的原因可能导致一些腐败,因为我倾向于让Intellij一直打开。我的git版本是1.9.4。我尝试了“git init”重新初始化本地存储库,但它没有帮助。我将Git更新到版本1.9.5,没有帮助。本地仓库仍然有我的本地设置(git config --local -l)。幸运的是,我经常提交和推动我的分支,所以恢复就像重新克隆一样简单,但它仍然让我感到很伤心。我将现有的本地仓库重命名为其他东西,然后重新克隆了远程存储库,现在所有新的克隆版本都很好(旧的克隆版仍旧死了)。
答案 2 :(得分:0)
我在开机时从一个分支签到另一个分支时由于电源故障而关闭了计算机,我发现我的存储库已损坏。 我将存储库克隆到新文件夹“ new clone”中 来自“罗伊·B”的回答 我用包含分支和其他信息的“腐败的git文件夹”替换了“新克隆”文件夹
存储库已恢复