问题标签 [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.
git - Git状态显示“致命:坏对象头”
我刚刚做了一个git status
,它抛出了以下错误:
致命:坏对象HEAD
我也尝试过git fsck
给出以下输出:
有什么想法可以轻松解决这个问题吗?
git - 如何恢复 git reset --hard HEAD@{1}
我做一个
但是我错误地删除了一些东西。我尝试解决它
但它没有找到“还原”
谢谢...
git - git服务器错误:远程损坏的松散对象
我有一个错误响应,
git fsck --full
它corrupt 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/ 中
git - Git - 删除丢失的 blob 或树
有没有办法从历史记录中删除对丢失的 blob 或树的引用?这是输出git fsck --full
我的猜测是 a pull
, push
, 或者git move
被打断了。我还找出了大多数丢失的 blob 引用的文件,但我无法恢复它们,因为它们已经被修改过,而且我无法重建更改(我认为;但我是 git 新手)。
gc
, prune
, 并reflog --expire=now
没有帮助。
有没有办法告诉git
“没关系,伙计,我对当前的当前状态很好HEAD
”?
git - 忽略“git clone”中的 fsck / 零填充文件模式错误
我的全局 Git 配置中有以下设置:
这些验证克隆数据库中的所有对象都是有效且可访问的。
但是,我想签出的一些存储库有错误,例如oh-my-zsh
:
有没有办法可以为单个“git clone”操作覆盖我的全局 fsckobjects 设置?
git - 自定义对象和参考的注意事项是什么?
假设我想编写一个小助手,允许以可以传播到克隆的方式将一些元数据附加到存储库refs
。简单示例(一个git-notes克隆原型,它甚至没有将注释附加到任何其他 git 对象):
即我创建了一个blob
带有哈希的对象hash
并引用它,refs/comments/just
因此git fsck --unreachable
不会抱怨它,git gc
也永远不会prune
成为对象。
但这当然是一个非常简单的例子,实际上我对更复杂的功能感兴趣。在那里,我的问题是,我可以“合法”做什么,我应该绝对避免做什么?
例如,SE 上的几篇帖子是关于用户必须从重复tree
条目中恢复的。因此,一个“不要”就是“不要创建tree
带有重复条目的”。另一个例子是“确保你的对象是可访问的,所以不会git prune
删除它们”。还有什么?
我可以创建自定义对象类型吗?对树中的 blob 使用“无效”文件模式?我在哪里可以找到概述?或者我应该git-fsck
手动检查 's source 以查看什么构成错误(以及哪些是可以忽略的)?
git - Git 存储库因提交中断而损坏
git commit
我用Ctrl+中断了我的本地 git 存储库C(两次提交)。我该如何解决?
输出git stash
:
输出git fsck --lost-found
:
输出git reflog
:
也无法写入.git/refs/heads/Multi-Threading
:
mercurial - 如何检查 Mercurial 存储库的一致性(校验和)?
假设我从损坏的文件系统(例如坏硬盘)中恢复了 Mercurial 存储库,并且我想确保这个存储库没有受到影响。
如何在 Mercurial 中强制进行自助检查?也就是说,Mercurial 会遍历整个历史记录并检查所有校验和是否适合其各自的数据集,以及整个存储库是否一致。
执行本地“hg 克隆”是否足以执行该检查?
Mecurial 有类似“git fsck”的东西吗?
git - git 致命 - 远程意外挂断,但不是 RPC 或权限或损坏管道相关消息
我在这里看到了很多关于 git fatal 的帖子:远程端意外挂断,但似乎都与我的无关。
此处有关此错误的所有帖子都与 RPC、权限、损坏的管道等有关,但我得到的致命错误并未提及任何这些。它看起来像下面
我去了 github 页面,我注意到顶部的大红色警告告诉我更改密码,所以我认为这可能是问题所在。我更改了密码,然后再次尝试将我的本地分支推送到远程(此分支之前从未推送到远程),但随后出现以下错误
上面显示了一个 SHA=997ea57135c8343d4e062b673b1cf09cb65f9edf 的对象有重复的文件条目,所以我想看看这个对象是什么,它显示了重复的数量,如下所示:
我以前没见过这个,所以我在网上搜索了一下,找到了如何发布git fsck --full
和获取:
git - git fsck --unreachable --lost-found 不会将对象保存为 lost-found 目录中的文件
我使用fsck
并发现我有一些悬空的对象,以及更多(数量)无法到达的对象。
fsck --lost-found
确实将悬空对象保存为目录中的lost-found
文件,但是当我希望它写入所有无法访问的对象时,fsck --unreachable --lost-found
它不会写入它们,因此我最终会丢失一些无法访问的对象。
为什么会发生这种情况,Git 有没有办法将那些无法访问的对象也写入文件?