2013-11-28 118 views
20

我在Windows Azure上遇到了git問題。 Git的狀態顯示爲 - 「致命的:壞對象HEAD」,我試圖運行git status顯示致命錯誤:壞對象HEAD

 git fsck --full 
    git gc 

混帳的fsck顯示

broken link from commit 739df633f185ce5d1ab7eb97d619b28e7d81185a 
       to tree 2a6d4876d135c1fa7cbe1348c62570006e895fc5 
broken link from commit 9c7eae5ffed34dbfac977e515dee675626b59f93 
       to tree 400132d215ab9aced883a9971e648b82624b2032 
broken link from commit 9c7eae5ffed34dbfac977e515dee675626b59f93 
       to commit 4a49af0a0cb64a0a0415734b11772d6df18561fb 
broken link from commit bc3072f30e71c616a8196089e19a67a2c9c0a5ad 
       to tree 0aa813c183487d0a1b1f7ae81501ca7a1168283f 
broken link from commit d3bb4f8545e91ec8ace15ad31a3147d92a1d4242 
       to tree 4682108accd8e72fe68858232386dffe60f9f02d 
broken link from commit 6b34795c4b54286301bcdc0ed254a04c132cb2ad 
       to tree 5c57dd3222d11924dba841d3cae517bdc9220601 
broken link from commit d70172d855391b93bc1c5eeb9b4226df525dfc6e 
       to commit 390c8cbd527c8e707c51e25142e54421f4dd3948 
broken link from commit cc05e8d2e3733693ebb67d697ae4b65e51fea79a 
       to commit 32f081f8b901425fd1e8898478f0551970bee0f5 
broken link from tree 6a75ed6d0311d800078e77f43d427d128372d5bc 
       to blob 4a064d610c0e7207967d59934c8bc5f491f26dae 
broken link from tree 6a75ed6d0311d800078e77f43d427d128372d5bc 
       to tree 5c06ec964dcbade49287d0f36efe1f7b60f446e3 
broken link from tree b4855fa6734b5652a93a9b799eafe47fad0d13a0 
       to blob 3e1fb421613dc9066cbf9c95eddc61619a9f8eed 
broken link from tree b4855fa6734b5652a93a9b799eafe47fad0d13a0 
       to tree 556a50048d42346c283c94b78ea278ba1d57d251 
broken link from tree 289c03409370c4ca7c12266ce2822a2976bd032b 
       to blob 3abf3c48ada45f63404dcf4d675ddfdadcfa83c6 
broken link from tree 289c03409370c4ca7c12266ce2822a2976bd032b 
       to blob 3fa569892003b468ed1301426dd6d96d9644be3c 
broken link from tree 289c03409370c4ca7c12266ce2822a2976bd032b 
       to blob 0a9a54a51e84f3bc34122dbce1146d895fcbe22c 
broken link from tree 289c03409370c4ca7c12266ce2822a2976bd032b 
       to blob 3fa48873564361b4d95830803ae77f79eeafaf5b 

的Git分支節目 - *主

任何幫助表示讚賞!

+0

看起來像倉庫的破上文件系統LEVE湖要恢復HEAD,你需要爲'.git/HEAD'寫一些有意義的東西,比如'739df633f185ce5d1ab7eb97d619b28e7d81185a'或'ref:refs/heads/master'(如果'master'分支是OK的話)。但它不太可能修復存儲庫。 –

+0

我不認爲HEAD本身已經破損,而是它最終指向的東西。 – Ikke

回答

21

您的存儲庫已損壞。這意味着數據丟失,git本身無法恢復。如果你有另一個這個倉庫的克隆,你可以從那裏恢復對象,或者創建一個新的克隆。

fatal: bad object HEAD表示從HEAD引用的分支指向一個錯誤的提交對象,這可能意味着它丟失或損壞。

git fsck的輸出中,可以看到缺少一些樹,blob和提交對象。

請注意,使用git本身不足以保證數據安全。您仍然需要在發生腐敗的情況下進行備份。

7

我也有類似的問題,什麼工作對我來說是從我原來的資源庫做出新的克隆

+1

在使用VS2017(15.3.3)和git的同時,我在Windows 10崩潰後結束了這裏。我沒有任何掛起的更改,所以使用@serup上面的答案,特別是I: - 刪除了根解決方案文件夾「C:\ Code \ MySolution」(包含.git作爲子文件夾)。 - 然後從VSTS | Project = MySolution |代碼|主分支頁面,我點擊「克隆」按鈕並選擇「克隆在Visual Studio」 - 我進入了相同的位置「C:\ Code \ MySolution」。 所有非常簡單(最終)。 – Peter

3

我設法解決類似的問題,這個時候一些Git的文件被損壞:

https://stackoverflow.com/a/30871926/1737957

在我對這個問題的答案,尋找在那裏我有如下相同的錯誤消息的一部分:

fatal: bad object HEAD. 

你可以嘗試跟隨我從那時起做的事情。確保先備份整個文件夾。

當然,您的存儲庫可能會以完全不同的方式損壞,而我所做的並不能解決您的問題。但它可能會給你一些想法! Git內部看起來很神奇,但它實際上只是一堆可以被編輯,移動,刪除的文件,與其他文件一樣。一旦你對他們做了什麼以及他們如何融合在一起有個好主意,你就有很大的成功機會。

-1

我通過重命名文件.git/refs/remotes/origin/HEAD中的分支來解決此問題。

0

在您的本地主機上覆制git dir,然後再次運行git init。將該項目推向全新的reprository。

10

試試這個:工作對我來說 rm -rf .git

然後複製。從其他克隆的git

cp <pathofotherrepository>/.git . -r

然後做

git init

這應該解決您的問題,所有最優秀的

+0

我一直在尋找一個棘手的git命令,但畢竟,這個快速而且乾淨。 –

+0

它的工作原理!謝謝!但有一個警告......你會失去所有不在你的工作目錄中的東西(當地分行,藏匿處等)。也許你想用'mv'代替'rm -rf'來嘗試恢復後者;-) –

0

我通過將分支數據(帶有錯誤)複製到我的蘋果筆記本電腦本地git文件夾來解決此問題。

不知何故,在終端和運行時:git status,告訴我更多具體的數據發生錯誤。如果您查看錯誤,希望您看到有錯誤的文件夾列表。在我的情況下,GIT顯示了導致錯誤的文件夾。刪除該文件夾並提交分支,我成功了。 git狀態再次工作 其他設備通過git pull進行更新;一切工作在每臺機器上。

希望這也適用於你。

0

您的存儲庫已損壞。但你也許可以修復它,並保持您的編輯:達第一

  1. 返回:cp your_repository your_repositry_bak
  2. 克隆破倉庫(仍然有效):git clone your_repository your_repository_clone
  3. 從克隆的一個更換破損git的文件夾:rm -rf your_repository/.git && cp your_repository_clone/.git your_repository/ -r
  4. 刪除克隆&備份(如果一切正常):rm -r your_repository_*
+0

這個答案只是彙集了[@ serup's]的商品(https://stackoverflow.com/a/25607163/1870254 )和[@ ganesh的回答](https://stackoverflow.com/a/45730454/1870254)。 –

相關問題