在git中缺少对象

时间:2017-02-17 14:34:24

标签: git

我在Dropbox文件夹中有一段git repo很长一段时间了。现在它已经损坏了。 (永远不要把git repos放在Dropbox中!)我删除了一些空对象文件。现在,git fsck显示了已损坏链接,悬空blob和缺失树木的列表。

但是,我很确定我的工作副本没问题。所以至少可以保存当前的状态,但我可能会失去一些历史。

是否可以让git删除损坏的提交?

是否有可能从工作副本中重新填充缺失的东西或者git会注意到?

1 个答案:

答案 0 :(得分:1)

  

我删除了一些空对象文件

这开始似乎是一个坏主意......您可以使用您的保管箱历史记录来恢复这些已删除的对象。

我对破解提交几乎没有经验。根据你想要做的事情,有多种选择:

1。不介意历史;我只想用git

重新启动并运行

恢复git存储库但丢失所有历史记录的快速简便方法就是删除git目录并重新开始:

rm -rf .git
git init
git commit -am "initial commit"

2。我还有部分历史;这对我来说足够了

尝试克隆您的存储库;可能你会保留历史中仍然完整的部分。

3。我想从历史中恢复所有可能的东西

这对我来说有点太先进了;看看这里:How to fix corrupted git repository?