相关疑难解决方法(0)

如何恢复因硬盘故障而损坏的Git对象?

我遇到了硬盘故障导致Git存储库的某些文件损坏.运行时,git fsck --full我得到以下输出:

error: .git/objects/pack/pack-6863e0a0e4b4ded6090fac5d12eba6ca7346b19c.pack SHA1 checksum mismatch
error: index CRC mismatch for object 6c8cae4994b5ec7891ccb1527d30634997a978ee from .git/objects/pack/pack-6863e0a0e4b4ded6090fac5d12eba6ca7346b19c.pack at offset 97824129
error: inflate: data stream error (invalid code lengths set)
error: cannot unpack 6c8cae4994b5ec7891ccb1527d30634997a978ee from .git/objects/pack/pack-6863e0a0e4b4ded6090fac5d12eba6ca7346b19c.pack at offset 97824129
error: inflate: data stream error (invalid stored block lengths)
error: failed to read object 0dcf6723cc69cc7f91d4a7432d0f1a1f05e77eaa at offset 276988017 from .git/objects/pack/pack-6863e0a0e4b4ded6090fac5d12eba6ca7346b19c.pack
fatal: object 0dcf6723cc69cc7f91d4a7432d0f1a1f05e77eaa is corrupted
Run Code Online (Sandbox Code Playgroud)

我有存储库的备份,但包含包文件的唯一备份已经损坏了.所以我认为我必须找到一种方法从不同的备份中检索单个对象,并以某种方式指示Git生成一个只有正确对象的新包.

你能否告诉我如何修复我的存储库?

git corruption data-recovery

92
推荐指数
3
解决办法
9万
查看次数

如何处理Git"无法读取"错误

我在我的git存储库中收到此错误:

22:09:15 $ git status
# On branch master
error: Could not read 8124cc15c63be92d534e4cdfa33c38d54deee122
error: unable to read tree object HEAD
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)

谷歌搜索error: unable to read tree object HEAD不会带来太多帮助,这个错误似乎非常罕见.我不知道如何处理它.这可能是硬盘故障吗?

编辑:输出git fsck如下:

broken link from  commit 607328dc80e4901a55b95c683d4fbf43e6df28bf
              to    tree 8124cc15c63be92d534e4cdfa33c38d54deee122
missing tree 8124cc15c63be92d534e4cdfa33c38d54deee122
dangling tree 56b5d4a5e429d251582ec927bca7ef1225510c41
dangling tree 0259d2d38b18b6136bb6070fb41faf3624453cc6
Run Code Online (Sandbox Code Playgroud)

git

45
推荐指数
4
解决办法
5万
查看次数

如何诊断和修复git致命:无法读取树

我正在使用git管理项目上的文件,并继续遇到这个问题.

当我跑步时,git status我得到了消息

fatal: unable to read tree e2d920161d41631066945a3cbcd1b043de919570
Run Code Online (Sandbox Code Playgroud)

据我了解,我应该检查输出git fsck,我收到

broken link from    tree e09a42f248afff64336fbbec2523df97c26451ac
              to    tree e2d920161d41631066945a3cbcd1b043de919570
broken link from    tree e09a42f248afff64336fbbec2523df97c26451ac
              to    tree 9b0dd389bd7f9e8d257395d57e0881b7957f9698
broken link from    tree e09a42f248afff64336fbbec2523df97c26451ac
              to    tree 9e288a4ad60d63f342dfd18237980674426aa725
broken link from    tree e09a42f248afff64336fbbec2523df97c26451ac
              to    tree 2a04647337089f554fab8c49cfd37149e5f4fc9f
broken link from    tree e09a42f248afff64336fbbec2523df97c26451ac
              to    tree ea16658b45ce961adc3c3f519b0e8d9672918ca8
Run Code Online (Sandbox Code Playgroud)

连同很多missing blob消息.

遵循各种资源(例如Git - Broken Links,Missing&Dangling Trees),我只是重新克隆了项目github并重新开始.

一旦我重新克隆了项目,一切都有好处commit,然后问题又出现了.每次重新克隆似乎都不是最佳的,并且似乎违背了使用的想法git,我想尝试理解发生了什么.我该如何诊断并解决这个问题?

git

45
推荐指数
4
解决办法
6万
查看次数

如何修复一个坏的git树对象

我有一个存储库的本地副本,该存储库不再具有与之关联的任何远程数据库.我试图将这个repo推送到一个新的遥控器,但每次我得到这个消息:

error: Could not read 9eefe9305253b2c039a54cbc8aa22f7f8e6e8790
fatal: bad tree object 9eefe9305253b2c039a54cbc8aa22f7f8e6e8790
Run Code Online (Sandbox Code Playgroud)

我在这里读到类似的问题,解决这个问题的一种方法是从存储库的其他副本中检索此对象或进行硬重置.我不能做任何两个,因为我没有这个回购的另一个副本.

有没有办法简单地删除这个提交或其他类型的解决方案,这将允许我将回购推送到新的远程保持历史记录?

git version-control repository

17
推荐指数
4
解决办法
1万
查看次数

如何解决 Git 报告无效的 sha1 指针 0000000000000000000000000000000000000000?

我的电脑突然关机了,现在我工作的项目的 Git 存储库有缺陷。我安装了 Git 2.20.1。我立即创建了项目文件夹的备份副本以使用原始文件夹。我有当地的分支机构,我不想松散

$ git status
error: object file .git/objects/c7/8e67bcad2ea132e3df8f80bb42b4804ab4f2a3 is empty
fatal: loose object c78e67bcad2ea132e3df8f80bb42b4804ab4f2a3 (stored in .git/objects/c7/8e67bcad2ea132e3df8f80bb42b4804ab4f2a3) is corrupt
Run Code Online (Sandbox Code Playgroud)

短路输出:

$ git fsck --name-objects
error: object file .git/objects/04/f338bf0dc0770b841b291af6cdd4c9130edb84 is empty
error: unable to mmap .git/objects/04/f338bf0dc0770b841b291af6cdd4c9130edb84: No such file or directory
error: 04f338bf0dc0770b841b291af6cdd4c9130edb84: object corrupt or missing: .git/objects/04/f338bf0dc0770b841b291af6cdd4c9130edb84
error: object file .git/objects/2e/07479ec010e5b459387d841a576e1ead97f850 is empty
error: unable to mmap .git/objects/2e/07479ec010e5b459387d841a576e1ead97f850: No such file or directory
error: 2e07479ec010e5b459387d841a576e1ead97f850: object corrupt or missing: .git/objects/2e/07479ec010e5b459387d841a576e1ead97f850
error: object file .git/objects/34/b03409d09382c44f50409e4388850ca9c82c77 …
Run Code Online (Sandbox Code Playgroud)

git git-fsck

15
推荐指数
2
解决办法
4223
查看次数

Git - 破碎的链接,丢失和悬垂的树木

我很高兴使用Git - 几天前做了一些提交,这些都反映在远程回购中.昨晚我打开了Smartgit Hg,它告诉我有树木缺失.我跑了git fsck --full,得到了相当大的输出.

我是一个Git业余爱好者.我使用GUI来做我需要做的事情.我已经尝试通过这个阅读(https://git.wiki.kernel.org/index.php/GitFaq#How_to_fix_a_broken_repository.3F),但它并没有多大意义,盲目地跟着它似乎没有工作.

我做了一个git ls-tree c957fc03bb53181547142045917211fbc380a8df,它显示了一个文件列表.我100644在开头有3个,所以我移动到那个目录,运行git hash-object -w filename并输出与ls-tree显示我相同的哈希值.

维基页面说现在我已经完成了.除了git fsck --full仍然显示该树的相同消息.我觉得我可能在错误的事情上运行这些命令.

我曾尝试在这里阅读其他git帖子,但它们对我没有意义.我不会说谎.

git fsck --full
Checking object directories: 100% (256/256), done.
Checking objects: 100% (1149/1149), done.
broken link from    tree c957fc03bb53181547142045917211fbc380a8df
              to    tree e7822f570245310f4b475e043f5fb02fa45c0d9e
broken link from    tree 8005ba4728321473684e670feb9c1ada8783c007
              to    tree 4df5de19988a1fd7088da6e8214404cda2069852
broken link from    tree 3b1b915c6f306ae4f80a2b61767c4267d48df53d
              to    tree 4dc2258f8d36dbeea64b859ab5dff0fadc5bd591
broken link from    tree c850459b3bd5899bd0a9eca40d69e49582f44a19
              to    tree 912613a23bcb22f211ce0d8ab4fe2a8fddde78b6
broken link from …

git smartgit

10
推荐指数
2
解决办法
7646
查看次数

Git错误:无法找到

当我这样做时,我收到以下错误git pull origin master.

error: Unable to find a47058d09b4ca436d65609758a9dba52235a75bd under http://myweb.com/myapp.git
Cannot obtain needed blob a47058d09b4ca436d65609758a9dba52235a75bd
while processing commit 041d57dd5bed9d6c75fe7cce944b2b2904ae3a62.
error: Fetch failed.
Run Code Online (Sandbox Code Playgroud)

几分钟前,一切都工作正常.我没有做任何平常的事情.我一直在做我惯常的提交推拉,现在我突然得到这个错误.

这个错误是什么意思?排除/纠正此错误的步骤是什么?

git

8
推荐指数
2
解决办法
6360
查看次数

我怎样才能恢复HEAD ^'S树?

tl; dr:是否可以恢复HEAD^树,如果它被删除而不是事先推送,如果其他一切都完好无损?

我不小心删掉了部分内容.git.我不完全确定缺少什么.

在发现git push不起作用后,我跑了一个git fsck:

Checking object directories: 100% (256/256), done.
Checking objects: 100% (1265/1265), done.
broken link from  commit f3419f630546ba02baf43f4ca760b02c0f4a0e6d
              to    tree 29616dfefd2bff59b7fb3177e99b4a1efc7132fa
broken link from  commit ccfe9502e24d2b5195008005d83155197a2dca25
              to    tree 0580c3675560cbfd3f989878a9524e35f53f08e9
broken link from  commit ccfe9502e24d2b5195008005d83155197a2dca25
              to  commit 0bca9b3a9f1dd9106922f5b4ec59cdc00dd6c049
broken link from    tree 6d33d35870281340c7c2f86c6d48c8f133b836bb
              to    blob 226d8a10a623acd943bb8eddd080a5929f3ccb2c
broken link from  commit db238d4a52ee8f18a04c038809bc6587d7643438
              to    tree 0b69ab3f6940a04684ee8c0c423ae7da89de749c
missing tree 0580c3675560cbfd3f989878a9524e35f53f08e9
dangling commit 05512f9ac09d932e7d9a11d490c8a2f117c0ca11
missing tree 29616dfefd2bff59b7fb3177e99b4a1efc7132fa
dangling commit 578464dde7d7b8628f77e536b4076cfa491d7602
missing blob …
Run Code Online (Sandbox Code Playgroud)

git data-recovery git-fsck git-plumbing

5
推荐指数
1
解决办法
2907
查看次数