由于缺少对象而导致 Git 损坏,我该怎么办?

2023-11-21

我刚刚去克隆另一台远程服务器上的存储库,并在尝试这样做时遇到了问题:

git clone [email protected]:blah/blah/docs.git
Cloning into docs...
remote: Counting objects: 343, done.
remote: error: unable to find 14f87a739828e4d489b0310a51e057b30333926e
remote: Compressing objects: 100% (325/325), done.
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: unable to read 14f87a739828e4d489b0310a51e057b30333926e
remote: aborting due to possible repository corruption on the remote side.
fatal: early EOF
fatal: index-pack failed

我做了一些研究并发现了git fsck,这是输出:

$ git fsck --full
error: sha1 mismatch 14f87a739828e4d489b0310a51e057b30333926e

error: 14f87a739828e4d489b0310a51e057b30333926e: object corrupt or missing
missing blob 14f87a739828e4d489b0310a51e057b30333926e

所有其他有类似问题的人都有链接损坏或其他问题。我对 Git 还很陌生,有人知道如何解决这个问题吗?

我仍然可以推送到我的中央远程存储库,但无法克隆它。

14f87a739828e4d489b0310a51e057b30333926e是一个 blob,是存储库根目录中的 markdown 文件。我尝试删除该文件并推送这些更改,但无济于事。


Edit:是否可以从另一个存储库导入 git 历史记录?我想我可以启动一个新的存储库并将我的文件复制到其中,然后导入提交历史记录。


如果它只是一个文件并且尚未打包,您应该能够在以下位置找到它:.git/objects/14/f87a739828e4d489b0310a51e057b30333926e在您的本地存储库中。您可以将此文件复制到服务器上存储库中的相应目录中。

如果它已打包,您应该能够使用以下命令解包它git unpack-objects在其中一个包文件上.git/objects/pack/。之后,复制到服务器的工作方式如上所述。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

由于缺少对象而导致 Git 损坏,我该怎么办? 的相关文章

  • TortoiseGit 与 TortoiseSVN 并存?

    我已经使用 TortoiseSVN 好几年了 但我正在考虑慢慢改用 git 因为我真的很喜欢它的分支和合并 我目前正在通过命令行使用 git 但正在考虑安装 TortoiseGit 有人有并排使用两只乌龟的经验吗 这有什么已知的问题吗 我真
  • 在家庭和办公室进行开发,GIT 会比使用 xcopy 的 SVN 更容易吗?

    如果出于安全原因 源代码只能存储在我的家庭计算机和办公室计算机上 如果传输代码的唯一方法是 USB 密钥 那么哪种源代码控制是最好的 SVN还是GIT 注意 两台计算机之间没有网络连接 我推荐git 无论哪种方式 您都需要 USB 密钥上的
  • GIT Rebase 对多个 0.5GB 二进制文件致命

    这个问题本质上是重新开rebase 期间 git 崩溃 https stackoverflow com q 7692944 1286639从来没有答案 我正在尝试从我的 secc 分支进行变基 git rebase main First r
  • 使用 Jenkins Git 插件中的 SSH 密钥在构建期间运行 Git 命令

    我们在 Jenkins 上的构建作业作为发布构建的一部分运行一些 git 命令 例如 git push 和 git pull 因此需要一种在构建期间从 shell 运行经过身份验证的 git 命令的方法 我们的詹金斯奴隶不持有任何凭证 因为
  • git-svn 期间“RA 层请求失败:REPORT 请求失败”

    我一直在尝试使用以下命令 Git 克隆 Google Code SVN 存储库 git svn clone stdlayout https wtorrent project googlecode com svn wtorrent git 它
  • 从TFS迁移到GIT,共享项目到nuget

    我所在的软件团队由 4 5 名开发人员组成 他们从事一个 TFS 项目 我们正在考虑将整个代码库移至 GIT 该代码库由约 50 个 Visual Studio 2013 解决方案组成 分为约 300 个项目 引用项目中另一个程序集的首选过
  • 在 git 中编辑分支?

    我在 github 网站上创建了一个分支 该分支不在我的本地存储库中 如何将该分支带到我的本地计算机 对其进行编辑 然后将其推送回我的 github 帐户 在本地工作目录中输入 git fetch origin newbranch git
  • git push heroku master 通过代理后面的 ssh 出现错误

    简要背景 大家好 我是一名大学生 代理 10 3 100 211 8080 刚接触 ROR Git 和 Heroku 一直在关注 Ruby on Rails 教程 我解决了通过 ssh 推送 git repo 的问题 在我的 ssh con
  • 如何仅对暂存内容运行 git 预提交检查?

    Suppose git status给出这个 On branch X Changes to be committed use git reset HEAD
  • 在 github 上查找强制推送的提交者

    在我们的项目 托管在 GitHub 上 中 每隔一段时间就会有人意外强制推送 master 没有人知道是否这样做 我想找出是谁干的 以及背后有什么样的错误配置的工具或坏习惯 那么问题来了 如何识别进行强制推送的用户呢 当我拉动时 我看到这样
  • 克隆存储库时出现 Git 冲突复制错误

    我使用 dropbox 作为 git 存储库 现在由于同步中的一些问题 git 中存在一些冲突的副本 我该如何消除这种冲突 由于这种冲突 我无法克隆该存储库的内容 我在克隆存储库时遇到的错误是 Git 致命 参考格式无效 refs head
  • 使用子模块克隆存储库:覆盖凭据

    我必须automate克隆存储库并获取它的所有子模块 存储库子模块的 url 指定于 gitmodules 如果我要使用默认值 我就会这样做 git clone recursive https username email protecte
  • 如何使用 Github Pages 分支正确提交到存储库中

    我有一个问题 情况基于gh pages https pages github com 我的项目使用预处理器和其他困难的人员 因此 我的项目结构如下所示 主分支 src node modules public js css etc index
  • 如何在gitlab存储库中下载单个文件夹或文件

    我有一个存储库 在此存储库中 有多个文件夹可用 我只需要此存储库中的一个文件夹 我已经尝试遵循命令 但它不起作用 克隆 有没有办法只克隆 git 存储库子目录 https stackoverflow com questions 600079
  • 如何将 man 和 zip 添加到 Windows 上的“git bash”安装中

    我在用git bash https git for windows github io 在 Windows 上 即git对于 Windows 通过集成bash 显然它使用的是MINGW MSYS支撑 来自 VonC 的更新 现在使用 msy
  • 提交 ID 从哪里来?

    我只是对此很好奇 提交 ID 不能是随机的 因为它们需要是唯一的 不过 它们似乎是随机的 这让我想知道 为什么它们不只是连续的数字 我的意思是 它们只需要在存储库中是唯一的 对吧 或者我在这里错了 Thanks Git 提交 ID 是 SH
  • 如何忽略Git中以数字开头的文件?

    在某个文件夹中 我有名为foo jpg bar png等等 我想将它们保留在版本控制中 除了那些命名为1 baz png 2 zaz jpg等 因为它们实际上是生成的 我应该添加什么条目 gitignore 正则表达式如 0 9 似乎不起作
  • Git 提交从 Windows 上的守护程序返回错误 docker/error 响应

    我正在为我的 Laravel 应用程序 BE 运行 docker 我对 readmeme md 文件进行了简单的更新 并尝试将此文件提交并推送到 git 当我尝试提交时 这就是我得到的 gt git c user useConfigOnly
  • 子 git 存储库作为主存储库的子集

    我正在寻找一种方法来设置 git 存储库 其中包括来自较大存储库的文件子集 并从该主存储库继承历史记录 我的主要动机是能够通过 GitHub 共享代码子集 我目前通过单个 git 存储库管理我的研究相关 主要是 Matlab 代码 代码本身
  • 从 git 签出后 nuget dll 丢失

    I have a C solution containing different projects On those projects I have some normal nuget packages like Newtonsoft Js

随机推荐

  • 使用 OAuth2.0 的客户端凭据流程进行 IMAP 身份验证失败 |爪哇 |在线交流

    我正面临着一个验证失败尝试使用客户端凭据授予流程连接两个 IMAP 协议时出现问题OAuth2 0 在哪里 我一直遵循微软在其分步指南中建议的步骤 即 使用 OAuth 验证 IMAP POP 或 SMTP 连接 我一直在使用这个githu
  • 在请求之间用 spring 维护状态

    我是 Spring 新手 如果这是初学者问题 很抱歉 但手册不清楚 至少对我来说不是 我的问题是 如何在 Spring 的请求之间共享状态 我可以使用 ModelMap 将数据从控制器发送到视图 但是 ModelMap 中的数据不会由视图发
  • 如何在 Eclipse 调试器中后退一步?

    是否可以在 Eclipse 调试器中进行反向执行 我当前正在进行的项目需要至少 5 秒的时间来读取和初始化文件中的数据 然后才能完成任何操作 如果我在调试器中越界 我必须终止程序并重新启动 这需要相当长的时间 您可以使用 Eclipse 的
  • 使用 Javascript 将 XML 转换为 JSON(以及反之)

    如何从 XML 转换为 JSON 然后再转换回 XML 以下工具运行良好 但并不完全一致 xml2json 以前有人遇到过这种情况吗 我认为这是最好的 XML 和 JSON 之间的转换 请务必阅读xml com O Reilly 网站上的随
  • 在“trap EXIT”中获取 shell 脚本的退出代码

    我想在我的 Bash 脚本中进行清理操作 如下所示 bin bash set eu trap echo E failed with exitcode 1 gt 2 ERR true false Using 我认为这是一个自然的选择 但事实并
  • 是否可以在构建过程中动态指定包名称?

    我想同时将调试和发布版本部署到我的设备 如果我在构建之前手动更改清单中的包名称 我可以做到这一点 例如改变
  • 在 Android 中禁用自定义键盘上的一键

    我有定制keyboard在我的 Android 应用程序中 它的布局在 xml 中描述如下
  • 查明 GWT 模块何时加载

    我通过以下方式将 GWT 方法导出到本机 javascript public class FaceBookGalleryEntryPoint implements EntryPoint Override public void onModu
  • 在 fp-ts 中链接一些异步任务,保留每个任务的结果

    在 fp ts 中 我尝试将一些可能失败的异步任务与TaskEither但我需要稍后使用中间任务的结果 在这个例子中 const getFoo a string Promise
  • Windows 10 上的 Laravel 8 和 Laravel Sail for dev 速度很慢。如何加快速度?

    我怎样才能重新创建这个 创建安装自Laravel 8 文档 and Laravel Sail 文档 我用sail up命令 效果很好 该命令构建 docker 容器 连接它们 并使开发变得像我们想象的那样简单 尤其是对于 VSCode 这工
  • 将元素与窗口底部对齐

    我正在尝试使用 jQuery 计算窗口高度 然后将该值应用于 DIV 容器 div 最后我希望 jQuery 将元素与页面底部对齐 div div Here is the element i wish to align to the bot
  • 如何解决重定向循环

    我有一个 Web 应用程序 一些使用 Chrome 作为首选浏览器的用户在注销应用程序并尝试重新登录时收到以下错误 此网页有重定向循环 我的 Web 应用程序使用表单身份验证 并且FormAuthenticationModule将用户重定向
  • 在 HTML 文件中使用 tern_for_vim 插件

    我正在尝试设置tern for vim插件可以在 JavaScript 中实现良好的自动完成功能 在编辑 js 文件时 Ctrl X Ctrl O 给出了很好的语义结果 拾取了 backbone js 和其他库 但是 当我在 HTML 文件
  • 如何以线程安全的方式迭代容器?

    我有一个容器 C 我需要从不同的线程以两种方式进行操作 1 添加和删除元素 2 遍历其成员 显然 在迭代发生时删除元素 灾难 代码看起来像这样 class A public void AddItem const T item int ind
  • Bash 内联命令的 Windows bat 替代品

    是否有任何 Windows 等效语法可以在 bat 脚本文件中的另一个命令中运行一个命令 在Linux中 您可以简单地使用 or 是的 至少对于简单的事情 setlocal enableextensions enabledelayedexp
  • 更改 SCNText 节点对象的颜色或纹理(Swift - Scenekit)

    如何设置 SCNText 对象的纹理 这就是我所拥有的 外观没有任何变化 myNode is a working SCNText element let mat SCNMaterial met diffuse contents UIImag
  • 如何在 Scala 中提前返回[重复]

    这个问题在这里已经有答案了 我现在正在学习Scala 我喜欢做的一件事是尽早返回 我相信这对每个人来说都更容易阅读 因为我们只是删除了之前的无效状态 现在 由于 Scala 是一种函数式语言 而且我读到削减计算是不好的函数式风格 我想知道是
  • 使用Databricks Job api调用databricks笔记本运行-提交端点

    我正在尝试建立一个调用 databricks 笔记本的 AWS lambda 函数 在 s3 触发器的情况下 我知道我必须在 lambda 函数 python 代码中使用 databricks 的 Jobs API 来使用以下命令发出 PO
  • Process.Start 在某些客户端上随机阻塞/挂起

    有一个非常相似的话题从未得到解决 here 我们有一个大型应用程序在多个客户端上运行 但最近我的一些代码停止工作 添加一些调试代码 我发现代码在调用 Process Start 时停止 没有设置 shellexecute true 通话很简
  • 由于缺少对象而导致 Git 损坏,我该怎么办?

    我刚刚去克隆另一台远程服务器上的存储库 并在尝试这样做时遇到了问题 git clone email protected blah blah docs git Cloning into docs remote Counting objects