问题标签 [git-fsck]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
4352 浏览

git - Git状态显示“致命:坏对象头”

我刚刚做了一个git status,它抛出了以下错误:

致命:坏对象HEAD

我也尝试过git fsck给出以下输出:

有什么想法可以轻松解决这个问题吗?

0 投票
0 回答
42 浏览

git - 如何恢复 git reset --hard HEAD@{1}

我做一个

但是我错误地删除了一些东西。我尝试解决它

但它没有找到“还原”

谢谢...

0 投票
2 回答
762 浏览

git - git服务器错误:远程损坏的松散对象

我有一个错误响应, git fsck --fullcorrupt loose object '...' 位于 git 服务器机器上。我没有本地存储库。我无法克隆。我在 repo/objects/... 中没有对象

您对如何解决此问题有任何想法吗?该对象不在 repo.git/objects 目录中。我可以在服务器机器内 ssh。

任何建议都受到高度赞赏。谢谢

编辑

我试过了

但我收到同样的错误

error: inflate: data stream error (invalid distance code) error: corrupt loose object '4e4c................' fatal: object 4e4c............. is corrupted error: failed to run repack

编辑 2

git gc --aggressive --prune=now

给了我同样的错误,也

git gc --aggressive --prune=all

git ls-tree 4e4cc....

我有同样的错误

编辑 3

我找到了最后一次提交的本地仓库(10GB),我可以推送到远程(20GB)。我也可以从那个地方拉。为什么它们的大小不同?我仍然无法克隆...而且 obj 4e4c............. 不在 .git/objects/ 中

0 投票
1 回答
4410 浏览

git - Git - 删除丢失的 blob 或树

有没有办法从历史记录中删除对丢失的 blob 或树的引用?这是输出git fsck --full

我的猜测是 a pull, push, 或者git move被打断了。我还找出了大多数丢失的 blob 引用的文件,但我无法恢复它们,因为它们已经被修改过,而且我无法重建更改(我认为;但我是 git 新手)。

gc, prune, 并reflog --expire=now没有帮助。

有没有办法告诉git“没关系,伙计,我对当前的当前状态很好HEAD”?

0 投票
3 回答
1857 浏览

git - 忽略“git clone”中的 fsck / 零填充文件模式错误

我的全局 Git 配置中有以下设置:

这些验证克隆数据库中的所有对象都是有效且可访问的。

但是,我想签出的一些存储库有错误,例如oh-my-zsh

有没有办法可以为单个“git clone”操作覆盖我的全局 fsckobjects 设置?

0 投票
0 回答
552 浏览

git - 自定义对象和参考的注意事项是什么?

假设我想编写一个助手,允许以可以传播到克隆的方式将一些元数据附加到存储库refs。简单示例(一个克隆原型,它甚至没有将注释附加到任何其他 git 对象):

即我创建了一个blob带有哈希的对象hash并引用它,refs/comments/just因此git fsck --unreachable不会抱怨它,git gc也永远不会prune成为对象。

但这当然是一个非常简单的例子,实际上我对更复杂的功能感兴趣。在那里,我的问题是,我可以“合法”做什么,我应该绝对避免做什么?

例如,SE 上的几篇帖子是关于用户必须从重复tree条目中恢复的。因此,一个“不要”就是“不要创建tree带有重复条目的”。另一个例子是“确保你的对象是可访问的,所以不会git prune删除它们”。还有什么?

我可以创建自定义对象类型吗?对树中的 blob 使用“无效”文件模式?我在哪里可以找到概述?或者我应该git-fsck手动检查 's source 以查看什么构成错误(以及哪些是可以忽略的)?

0 投票
2 回答
1000 浏览

git - Git 存储库因提交中断而损坏

git commit我用Ctrl+中断了我的本地 git 存储库C(两次提交)。我该如何解决?

输出git stash

输出git fsck --lost-found

输出git reflog

也无法写入.git/refs/heads/Multi-Threading

0 投票
1 回答
209 浏览

mercurial - 如何检查 Mercurial 存储库的一致性(校验和)?

假设我从损坏的文件系统(例如坏硬盘)中恢复了 Mercurial 存储库,并且我想确保这个存储库没有受到影响。

如何在 Mercurial 中强制进行自助检查?也就是说,Mercurial 会遍历整个历史记录并检查所有校验和是否适合其各自的数据集,以及整个存储库是否一致。

执行本地“hg 克隆”是否足以执行该检查?

Mecurial 有类似“git fsck”的东西吗?

0 投票
1 回答
128 浏览

git - git 致命 - 远程意外挂断,但不是 RPC 或权限或损坏管道相关消息

我在这里看到了很多关于 git fatal 的帖子:远程端意外挂断,但似乎都与我的无关。

此处有关此错误的所有帖子都与 RPC、权限、损坏的管道等有关,但我得到的致命错误并未提及任何这些。它看起来像下面

在此处输入图像描述

我去了 github 页面,我注意到顶部的大红色警告告诉我更改密码,所以我认为这可能是问题所在。我更改了密码,然后再次尝试将我的本地分支推送到远程(此分支之前从未推送到远程),但随后出现以下错误

在此处输入图像描述

上面显示了一个 SHA=997ea57135c8343d4e062b673b1cf09cb65f9edf 的对象有重复的文件条目,所以我想看看这个对象是什么,它显示了重复的数量,如下所示:

我以前没见过这个,所以我在网上搜索了一下,找到了如何发布git fsck --full和获取:

0 投票
1 回答
179 浏览

git - git fsck --unreachable --lost-found 不会将对象保存为 lost-found 目录中的文件

我使用fsck并发现我有一些悬空的对象,以及更多(数量)无法到达的对象。

fsck --lost-found确实将悬空对象保存为目录中的lost-found文件,但是当我希望它写入所有无法访问的对象时,fsck --unreachable --lost-found它不会写入它们,因此我最终会丢失一些无法访问的对象。

为什么会发生这种情况,Git 有没有办法将那些无法访问的对象也写入文件?