相关疑难解决方法(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-1.7.4.1确定用户在对象数据库中被警告腐败的速度有多快,我拉了一个一位切换器:

$ git init repo
Initialized empty Git repository in /tmp/repo/.git/
$ cd repo
$ echo 'very important info' >critical
$ git add critical
$ git commit -m critical
[master (root-commit) c4d6d90] critical
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 critical
$ git ls-tree HEAD
100644 blob 82d423c32c4bb2c52938088e0234db041bf4eaaf    critical
$ git show 82d423c32c4bb2c52938088e0234db041bf4eaaf
very important info
$ echo 'Very important info' | git hash-object --stdin -w
81a3797afe76d339db25c0f9c705a6caa47279c2
$ mv .git/objects/81/a3797afe76d339db25c0f9c705a6caa47279c2 \
     .git/objects/82/d423c32c4bb2c52938088e0234db041bf4eaaf

当然,git-fsck通知

$ git …

git sha1 data-integrity

20
推荐指数
2
解决办法
3441
查看次数

从SourceTree或Git恢复已删除的文件

我最近开始使用SourceTree与Bitbucket合作.我正在研究一个项目,然后我决定将其移动到另一个文件夹(出于各种原因).所以,我剪切了我在repo中处理的文件,然后在SourceTree中单击了删除按钮,没有意识到这样做实际上会删除文件.为了以防万一我剪切文件,但不记得粘贴这些文件需要原始文件存在.

现在,我只有将文件从回购该SourceTree没有删除.这些都是在文件离开了objects目录,我没有info或者pack是内部的文件夹objects目录.

有什么办法可以恢复文件吗?我已经看过这个问题这个问题,但是我是git的新手并且无法弄清楚如何实际做到这些.

请帮忙!如何恢复仓库中的文件?

git atlassian-sourcetree

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