相关疑难解决方法(0)

如何使用Git解决"错误:错误索引 - 致命:索引文件损坏"

之后git init,我添加并提交了一些文件,进行了一些更改,添加并提交.设置git守护程序(在WinXP上的Cygwin下运行)并克隆一次存储库.现在,我在克隆的存储库中收到此错误:

$ git status
error: bad index file sha1 signature
fatal: index file corrupt
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个问题,除了获取存储库的新副本?

git corruption

570
推荐指数
8
解决办法
20万
查看次数

如何修复GIT错误:对象文件是空的?

当我尝试提交更改时,我收到此错误:

error: object file .git/objects/31/65329bb680e30595f242b7c4d8406ca63eeab0 is empty
fatal: loose object 3165329bb680e30595f242b7c4d8406ca63eeab0 (stored in .git/objects/31/65329bb680e30595f242b7c4d8406ca63eeab0) is corrupt
Run Code Online (Sandbox Code Playgroud)

不知道如何解决这个错误?

编辑

我试过git fsck我有:

error: object file .git/objects/03/dfd60a4809a3ba7023cbf098eb322d08630b71 is empty
fatal: loose object 03dfd60a4809a3ba7023cbf098eb322d08630b71 (stored in .git/objects/03/dfd60a4809a3ba7023cbf098eb322d08630b71) is corrupt
Run Code Online (Sandbox Code Playgroud)

git

408
推荐指数
9
解决办法
16万
查看次数

如何从我的git仓库中删除未引用的blob

我有一个GitHub仓库,有两个分支 - 主和发布.

发布分支包含二进制分发文件,这些文件导致了非常大的repo大小(> 250MB),所以我决定清理一下.

首先,我删除了远程发布分支 git push origin :release

然后我删除了本地发布分支.首先我试过git branch -d release,但是git说"错误:分支'释放'不是你当前HEAD的祖先." 这是真的,所以我git branch -D release强迫它被删除.

但是我在本地和GitHub上的存储库大小仍然很大.所以然后我浏览了通常的git命令列表,比如git gc --prune=today --aggressive没有运气.

按照Charles Bailey在SO 1029969的指示,我得到了最大blob的SHA1列表.然后我使用来自SO 460331的脚本 来找到blob ......并且五个最大的不存在,虽然找到了较小的blob,所以我知道脚本正在工作.

我认为这些博客是发布分支中的二进制文件,它们在删除该分支后不知何故.什么是摆脱它们的正确方法?

git

113
推荐指数
6
解决办法
7万
查看次数

如何恢复因硬盘故障而损坏的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:摇摇欲坠的blob

我最近跑git fsck --lost-found了我的存储库.

我希望看到几个悬空提交,我重置了HEAD.

但是,我惊讶地看到可能有数千条悬空blob消息.

我不相信我的存储库有任何问题,但我很好奇是什么原因导致这些悬空斑块?只有两个人在存储库上工作,我们没有做任何与众不同的事情.

我不认为它们是由旧版本的文件替换为新版本创建的,因为git需要保留两个blob以便它可以显示历史记录.

想想看,有一次我们错误地将一个非常大的目录(数千个文件)添加到项目中然后将其删除.这可能是所有悬空斑点的来源吗?

只是寻找洞察这个谜.

git git-dangling

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

可以删除.git吗?

在Ruby on Rails上使用git时发生了这种情况.完成并创建了几个提交和分支.

git version 1.7.3.4
Run Code Online (Sandbox Code Playgroud)

我不小心删除了git的文件夹中使用

git -rf .git
Run Code Online (Sandbox Code Playgroud)

但我在在线git-hub存储库上完成了所有文件和更新.我想恢复.git文件夹.问题?

  1. 我完全搞砸了吗?要么
  2. 如果有一种从我的在线git-hub存储库恢复.git的方法,怎么办呢?

git github

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

git致命:无法读取对象xxx:参数无效

如果我从远程获取提取,我收到以下错误

$ git pull
remote: Counting objects: 85, done.
remote: Compressing objects: 100% (37/37), done.
remote: Total 85 (delta 63), reused 69 (delta 48)
Unpacking objects: 100% (85/85), done.
error: inflate: data stream error (unknown compression method)
fatal: failed to read object 8b0fd4094630fea108b60faa15535ffbc85d87cb: Invalid argument
error: http://myremoterepo.com/project.git did not send all necessary objects
Run Code Online (Sandbox Code Playgroud)

我可以在当地提交.当我检查状态时:

> $ git status On branch vikas Your branch is based on 'origin/master',
> but the upstream is gone.   (use "git branch --unset-upstream" to
> fixup) …
Run Code Online (Sandbox Code Playgroud)

git

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

如何删除"致命:松散的物体"?

我的一个克隆的存储库是从git fsck获得的

致命:松散对象40bda4e3b79c3d7bf598df31d9e68470f97a3f79(存储在的.git /对象/ 40/bda4e3b79c3d7bf598df31d9e68470f97a3f79)已损坏

我有另一个副本,fsck干净利落.

我试过nuking目录/子目录包含致命的目录/子目录,并重新克隆它.问题还在继续.

我真的不关心任何特定的文件,我只是希望存储库干净地结账.我该怎么办?

注意:远程存储库托管在github上.

git github

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

将损坏的松散对象修复为git中的提交

在收到此错误之前,我立即执行了以下操作:

user@thismachine:~/file/path$ git add *
user@thismachine:~/file/path$ git push 
^C
user@thismachine:~/file/path$ git commit -m "my commitmesg"
Run Code Online (Sandbox Code Playgroud)

(我惊慌失措,因为我在推动之前忘了添加一个提交,所以我cntrl + c'ed它.

现在,我从git fsck -full收到以下错误:

error: inflate: data stream error (incorrect header check)
error: corrupt loose object '5cdeb9c3a1fe164cb4d2779d1e0d9d9f4ef18c6a'
fatal: loose object 5cdeb9c3a1fe164cb4d2779d1e0d9d9f4ef18c6a (stored in .git/objects/5c/deb9c3a1fe164cb4d2779d1e0d9d9f4ef18c6a)
Run Code Online (Sandbox Code Playgroud)

git cat-file -t 5cdeb9c3a1fe164cb4d2779d1e0d9d9f4ef18c6a返回此对象是提交.

搜索之后,我发现如果对象是blob,如何解决这个问题,而不是如果它是一个提交.

git

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

TortoiseGit错误 - 无法获取所有引用.libgit2返回:损坏的松散引用文件

我最近使用Tortoise Git提交后出错:

"无法获取所有引用.libgit2返回:损坏的松散引用文件"

当我去检查日志时弹出.

关于如何纠正这个问题的任何想法?

windows git tortoisegit

14
推荐指数
1
解决办法
9606
查看次数