2012-07-24 51 views
1

我的Git存儲庫聲稱存在損壞的對象:正在運行git fsck --full說在回購中存在損壞的鬆散對象。由於對象已損壞,我可以用git cat-file -t不能解壓,但刪除了文件導致的fsck只報告:在沒有其他缺失對象的情況下重建Git中的鬆散缺失樹

broken link from tree 93e54230ef... 
      to tree 5aec4ad... 
missing tree 5aec4ad... 

我覺得這缺少的樹是唯一缺少的文件,或者更確切地說,有沒有懸掛提交/斑點,因爲運行git ls-tree 93e54230ef...只顯示一行:040000 tree 5aec4ad... android。另外,損壞文件上的最後修改日期是昨天,並且自那以後我沒有做任何更改。不幸的是,我已經檢查了我擁有的這個存儲庫的克隆,但是他們都沒有打包或解包丟失的對象。

我該如何重建一個沒有懸掛提交或blob的遺漏git樹?

回答

2

當所有這一切都在Git中缺少的是一棵樹,解決的方法就是到使用write-tree

git write-tree 

執行該命令後,Git倉庫應該恢復到以前的狀態。

+1

我更喜歡git mktree。 – 2012-07-25 00:23:55