相关疑难解决方法(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存储库移动到GitHub.所以我克隆了存储库并尝试将其推送到GitHub.但是,我偶然发现了一些我们以前从未遇到过的错误:

 C:\repositories\appName [master]> git push -u origin master
 Counting objects: 54483, done.
 Delta compression using up to 2 threads.
 Compressing objects: 100% (18430/18430), done.
 error: object 9eac1e639bbf890f4d1d52e04c32d72d5c29082e:contains duplicate file entries
 fatal: Error in object
 fatal: sha1 file '<stdout>' write error: Invalid arguments
 error: failed to push some refs to 'ssh://git@github.com/User/Project.git'
Run Code Online (Sandbox Code Playgroud)

当我跑fsck:

C:\repositories\appName [master]> git fsck --full
Checking object directories: 100% (256/256), done.
error in tree 0db4b3eb0e0b9e3ee41842229cdc058f01cd9c32: contains duplicate file entries
error in tree 9eac1e639bbf890f4d1d52e04c32d72d5c29082e: contains duplicate file entries …
Run Code Online (Sandbox Code Playgroud)

git object duplicates

28
推荐指数
2
解决办法
6363
查看次数

Git - 被破坏的对象?

我的房子刚刚停电了,现在我的git repo(当它发生时我正承诺)正在报告:

user@localhost$ git fsck
fatal: object 192e0282d23863ec80375a77011012ef8cb80f77 is corrupted
Run Code Online (Sandbox Code Playgroud)

我不能因为这个错误而提交.拉取和取出似乎仍然正常.

user@localhost$ git commit
error: unable to find 192e0282d23863ec80375a77011012ef8cb80f77
fatal: 192e0282d23863ec80375a77011012ef8cb80f77 is not a valid object
Run Code Online (Sandbox Code Playgroud)

我尝试重置它,但它没有做任何事情

git reset HEAD 192e0282d23863ec80375a77011012ef8cb80f77
git gc
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

更新:文件仍然很好所以我只是克隆了一个新的repo实例并手动移动文件(很高兴这不是唯一的repo实例!).但是,我保留了破损的回购,以便我可以尝试在此处发布的修补程序,以防下次有时间.

git repository

15
推荐指数
1
解决办法
9609
查看次数

如何恢复损坏的git存储库?

在我的笔记本电脑硬重置后,在git提交后冻结,当我在我的git存储库上输入任何命令时出现以下错误:

$ git status 
fatal: failed to read object de02e6d5cd7823ea788429a33583bede09221163: Invalid argument
Run Code Online (Sandbox Code Playgroud)

反正有没有恢复我的git存储库?

我没有从以下两个问题中找到解决方案:

编辑:我没有找到导致我的git存储库损坏的原因以及任何恢复它的解决方案......我终于从我的SVN存储库开始了一个新的克隆!

git

12
推荐指数
1
解决办法
8326
查看次数

标签 统计

git ×4

corruption ×1

data-recovery ×1

duplicates ×1

object ×1

repository ×1