Git - 破坏本地更改的松散对象

时间:2012-10-29 22:49:30

标签: git version-control

我在本地工作(我没有时间推送到原点)当Ubuntu显然崩溃(全部被冻结,我甚至无法移动鼠标指针)迫使我硬重启计算机

现在,当我尝试使用任何git命令时,它一直说:

error: object file .git/objects/5b/44c9bbc189d41c9eff05fdb381ebd2dc83c1e3 is empty
fatal: loose object 5b44c9bbc189d41c9eff05fdb381ebd2dc83c1e3 (stored in .git/objects/5b/44c9bbc189d41c9eff05fdb381ebd2dc83c1e3) is corrupt

我没有完成我所做工作的远程副本。 我实际上是在一个名为activity的本地分支上工作。

我该如何恢复它?我真的不想在干净的git-repo克隆上复制更改,因为它会丢失所有以前的提交消息......

按照类似的帖子(如果它似乎不适用于我的情况),这里有一些输出:

$ git fsck --full      
Checking object directories: 100% (256/256), done.
error: object file .git/objects/18/c482efa7845af0ab2d2ebc19370ca6645cda68 is empty
fatal: loose object 18c482efa7845af0ab2d2ebc19370ca6645cda68 (stored in .git/objects/18/c482efa7845af0ab2d2ebc19370ca6645cda68) is corrupt

我还使用以下(相同)输出运行ls-tree:

$ git ls-tree 5b44c9bbc189d41c9eff05fdb381ebd2dc83c1e3        
error: object file .git/objects/5b/44c9bbc189d41c9eff05fdb381ebd2dc83c1e3 is empty
fatal: loose object 5b44c9bbc189d41c9eff05fdb381ebd2dc83c1e3 (stored in .git/objects/5b/44c9bbc189d41c9eff05fdb381ebd2dc83c1e3) is corrupt

感谢。

1 个答案:

答案 0 :(得分:0)

如果您刚开始使用此存储库并且工作树正常,请启动新的存储库。这次将备份推送到bitbucket,它提供免费的私有存储库。记得经常提交并推动你的改变。

git show SHA1

也很有用。