2013-11-28 115 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)。 –

相关问题