相关疑难解决方法(0)

如何恢复损坏的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存储库?

我的开发存储库在某些时候丢失了一个对象.

$ git fsck
fatal: failed to read object 2dddc84156fa30e4614a7ea5a1895885011b8db8: Invalid argument
$ git cat-file -t 2dddc84156fa30e4614a7ea5a1895885011b8db8
error: unable to find 2dddc84156fa30e4614a7ea5a1895885011b8db8
fatal: git cat-file 2dddc84156fa30e4614a7ea5a1895885011b8db8: bad file
Run Code Online (Sandbox Code Playgroud)

新近克隆的存储库具有该对象.

$ git cat-file -t 2dddc84156fa30e4614a7ea5a1895885011b8db8
tree
Run Code Online (Sandbox Code Playgroud)

我想保留我的开发存储库,它已经拆除了分支和存储.

如何将该对象修补到我破损的存储库中?

git

12
推荐指数
3
解决办法
9130
查看次数

Git reset =致命:无法读取树

有人在错误的分支上提交了一个提交,所以我试图将提交移动到另一个分支.当我尝试回滚提交时,我收到此错误:

[user@server gitrepo]$ git reset --hard 9c2de3c0
fatal: unable to read tree 9c2de3c0af09fc07a84ff84b594beb5a6d489181
Run Code Online (Sandbox Code Playgroud)

该对象看起来很好:

[user@server gitrepo]$ ls objects/9c/2de3c* -al
-r--r--r-- 1 git git 222 Aug 28 12:09 objects/9c/2de3c0af09fc07a84ff84b594beb5a6d489181
Run Code Online (Sandbox Code Playgroud)

为什么不能读取这个对象,我该怎么做呢?

编辑:将我的问题与其他人区分开来:

  • Git的数据库中不出现是特别不舒服.跑步git fsck -full只显示几个(约20个)悬空斑点和一个悬空提交.这似乎并不特别令人担忧.

git

8
推荐指数
1
解决办法
7581
查看次数

如何修复从树到树的git错误断链?

我有一个事务中断,当我再次尝试时,我遇到了空的或损坏的对象的错误,继另一个问题后我删除了所有空文件,当我运行时

git fsck --full 
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误

Checking object directories: 100% (256/256), done.
Checking objects: 100% (48774/48774), done.
error: d193ccbc48a30e8961e9a2515a708e228d5ea16d: invalid sha1 pointer in cache-tree
error: df084ac4214f1a981481b40080428950865a6b31: invalid sha1 pointer in cache-tree
broken link from    tree 4bf4869299b294be9dee4ecdcb45d2c204ce623b
          to    tree df084ac4214f1a981481b40080428950865a6b31
broken link from    tree 4bf4869299b294be9dee4ecdcb45d2c204ce623b
          to    tree d193ccbc48a30e8961e9a2515a708e228d5ea16d
missing tree df084ac4214f1a981481b40080428950865a6b31 
missing blob a632281618ca6895282031732d28397c18038e35
missing tree d193ccbc48a30e8961e9a2515a708e228d5ea16d
missing blob 70aa143b05d1d7560e22f61fb737a1cab4ff74c6
missing blob c21c0545e08f5cac86ce4dde103708a1642f23fb
missing blob 9f341b8a9fcd26af3c44337ee121e2d6f6814088
missing blob 396aaf36f602018f88ce985df85e73a71dea6f14
missing blob 87b9d1933d37cc9eb7618c7984439e3c2e685a11
Run Code Online (Sandbox Code Playgroud)

并且知道我不知道如何解决这个问题.

git

7
推荐指数
3
解决办法
2万
查看次数

如何从git中的损坏的松散文件中恢复

我有一个损坏的git对象.git对象dir中文件的大小为0.

首先是一个fsck:

git fsck --full
fatal: loose object a35c1489005cca1ffeb3c2d3e4d63988408b6a24 (stored in .git/objects/a3/5c1489005cca1ffeb3c2d3e4d63988408b6a24) is corrupted
Run Code Online (Sandbox Code Playgroud)

那么一个ls:

ls -l .git/objects/a3/5c1489005cca1ffeb3c2d3e4d63988408b6a24
----------+ 1 sampath ???????? 0 Sep 13 15:26 .git/objects/a3/5c1489005cca1ffeb3c2d3e4d63988408b6a24
Run Code Online (Sandbox Code Playgroud)

该文件在磁盘上不存在!?

# git cat-file -t a35c1489005cca1ffeb3c2d3e4d63988408b6a24
error: unable to find a35c1489005cca1ffeb3c2d3e4d63988408b6a24
fatal: git cat-file a35c1489005cca1ffeb3c2d3e4d63988408b6a24: bad file
Run Code Online (Sandbox Code Playgroud)

当我试图拉动时,我首先看到了这个错误.
我尝试删除文件并进行拉动,但这不起作用.它抱怨文件丢失了.

当我删除文件并运行fsck时,它向我展示了很多悬空物体

# git fsck --full
broken link from  commit 1e5980c224ff19b19ad99dbefed4c7c64c58aee6
              to    tree a35c1489005cca1ffeb3c2d3e4d63988408b6a24
dangling tree 0401d636a512b208dffd6ac6e153ab0a061f8d5d
dangling blob 58014c0266784a1e3cc1502de82837c5f36c8514
dangling tree 0507fa56260c693cea678eab0343240c5bba06ad
dangling tree 130770880c664a0b0cf5a21d037cbdba7480dc90
Run Code Online (Sandbox Code Playgroud)

我厌倦了几次提交但没有帮助.
有关如何从中恢复的任何指示?

git

6
推荐指数
1
解决办法
5656
查看次数

损坏的Git存储库(数据流错误)

我收到这些错误:

X:\WAMP\www\topsecret>git fsck --full
error: inflate: data stream error (invalid code lengths set)
error: corrupt loose object '18076434b9cad667dbcf5be20162c506c95c2f55'
fatal: loose object 18076434b9cad667dbcf5be20162c506c95c2f55 (stored in .git/objects/18/076434b9cad667dbcf5be20162c506c95c2f55) is corrupt
Run Code Online (Sandbox Code Playgroud)

对于GIT来说,我是一个完全的菜鸟,我对这个确切错误的搜索没有任何结果.我真的很想保存这个回购,因为它回归了.谢谢.

GIT版本:1.7.7.msysgit.0

git

6
推荐指数
1
解决办法
8086
查看次数

仅从对象恢复Git存储库

我有一个Windows框,它已经把它删除了大部分Git存储库(必须使重要的工作检测器绊倒;).我所剩下的(我能找到的)就是物体.我也不确定对象集合的完整程度.是否可以从对象中恢复东西?据我所知,对象树是完整的.所有包装和松散的物品都到位; 我只是没有元数据来说服Git.

git disaster-recovery data-recovery

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

修复从提交到提交的 git 损坏链接

我遇到过这样的情况:git fsck调用返回多个损坏的链接。这是因为,对于此存储库,rm运行了一个命令并删除了多个写保护文件(发生了错误)。该存储库也没有最近的备份(再次犯了错误)。由于正在使用 Git,存储库并未完全丢失,但一些历史记录已被打乱。直到最近要重新同步到源时,这一点才被注意到,但由于历史记录被破坏,这一点失败了。

我想修复此历史记录(如果可能),以便它可以与上游源合并。我认识到我将无法取回完整的历史记录,因为某些文件刚刚消失,但我想在正常工作的情况下尽可能保留其中的内容。

我审阅了 Linus 的电子邮件“如何恢复损坏的 blob 对象”(麻省理工学院托管副本),并且还查看了:

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

修复损坏的 Git 存储库

与许多其他人一起,但我没有看到太多关于从提交到提交错误的断开链接的建议。请注意,我确实制作了此存储库的副本,因此我不会擦除任何内容。

的结果git fsck

    $ git fsck
    broken link from commit <SHA1>
                  to commit <SHA2>
    broken link from   tree <SHA3>
                  to   blob <SHA4>
    ...
    dangling blob <SHA5>
    missing commit <SHA2>
    missing blob <SHA4>
    ...
Run Code Online (Sandbox Code Playgroud)

当我最终通过 git 历史记录时,git log我收到错误

error: Could not read <SHA2>
fatal: Failed to traverse parents of commit <SHA1>
Run Code Online (Sandbox Code Playgroud)

它靠近最后一个备份存在的位置,但不完全在那里,所以我没有重叠的覆盖范围。我想尝试反向遍历历史,认为我可以将日志从最旧的提交移动到最新的提交,但是

$ git log --reverse …
Run Code Online (Sandbox Code Playgroud)

git recovery commit corruption

5
推荐指数
2
解决办法
2264
查看次数

git“无法读取对象”和“无法找到”错误

由于某种原因,我突然收到几个月前发生的合并的提交错误?使用Gitolite推送到中央服务器,并在本地添加git flow扩展。错误是:

git push:

fatal: failed to read object 02a261fad3eae408b04d1941334875d73ddd3f57: Permission denied
error: unpack failed: unpack-objects abnormal exit
Run Code Online (Sandbox Code Playgroud)

而且我无法在本地或服务器上找到该对象

git pull:

error: unable to find 379d1971a1037a97919ce37342ee7a60fc611946
error: unable to find 6e41daf37591c88c8dc18f2ecc8761e7d44a0cd9
error: unable to find 0995f5098e0a96f642c6730231d997dd6e074697
Run Code Online (Sandbox Code Playgroud)

好的,尝试新鲜的git克隆如何:

error: unable to find 379d1971a1037a97919ce37342ee7a60fc611946
error: unable to find 6e41daf37591c88c8dc18f2ecc8761e7d44a0cd9
error: unable to find 0995f5098e0a96f642c6730231d997dd6e074697
error: git upload-pack: git-pack-objects died with error.
fatal: git upload-pack: aborting due to possible repository corruption on the remote side.
remote: fatal: failed to read object 6e41daf37591c88c8dc18f2ecc8761e7d44a0cd9: Permission …
Run Code Online (Sandbox Code Playgroud)

git gitolite

3
推荐指数
1
解决办法
3734
查看次数