我在Dropbox文件夹中有一段git repo很长一段时间了。现在它已经损坏了。 (永远不要把git repos放在Dropbox中!)我删除了一些空对象文件。现在,git fsck
显示了已损坏链接,悬空blob和缺失树木的列表。
但是,我很确定我的工作副本没问题。所以至少可以保存当前的状态,但我可能会失去一些历史。
是否可以让git删除损坏的提交?
是否有可能从工作副本中重新填充缺失的东西或者git会注意到?
答案 0 :(得分:1)
我删除了一些空对象文件
这开始似乎是一个坏主意......您可以使用您的保管箱历史记录来恢复这些已删除的对象。
我对破解提交几乎没有经验。根据你想要做的事情,有多种选择:
恢复git存储库但丢失所有历史记录的快速简便方法就是删除git目录并重新开始:
rm -rf .git
git init
git commit -am "initial commit"
尝试克隆您的存储库;可能你会保留历史中仍然完整的部分。
这对我来说有点太先进了;看看这里:How to fix corrupted git repository?