Git 克隆因文件损坏而失败

     2023-02-16     167

关键词:

【中文标题】Git 克隆因文件损坏而失败【英文标题】:Git clone fails with corrupt file 【发布时间】:2015-10-12 09:17:26 【问题描述】:

在我们公司,我们使用自己安装的 GitLab 7.13.4。访问被配置为允许 https 和 ssh 身份验证。当使用版本 1.7、1.9 或 2 的 git 客户端克隆现有项目时,这两种身份验证方法都适用。但是,对于使用 git 版本 1.6.0.2 的旧 (SLES 11) 服务器,https 方法会产生以下错误:

> git clone https://myuser@my.host/myrepo/myproject
Initialized empty Git repository in /users/myrepo/myuser/myproject/.git/
error: File 0000000000000000000000000000000000000000 (https://myuser@my.host/myrepo/myproject/objects/00/00000000000000000000000000000000000000) corrupt
Getting pack list for https://myuser@my.host/myrepo/myproject
Getting alternates list for https://myuser@my.host/myrepo/myproject
Also look at https://myuser@my.host//<!
Also look at window.gon=;gon.default_issues_tracker="gitlab";gon.api_version="v3";gon.relative_url_root="";gon.default_avatar_url="https://my.host/assets/no_avatar-0b64d25ac5f63e6f0caee99e819105ba.png";gon.max_file_s
Segmentation fault

虽然 ssh 方法工作得很好。问题是我们希望避免将私钥文件复制到服务器上并更新 git 客户端安装。您对如何解决此错误或是否需要更新客户端有任何建议?

【问题讨论】:

【参考方案1】:

首先,如果您还没有备份服务器上的所有重要数据。

0000... 是实际的文件名还是占位符?

如果它实际上是0000...,那么一些非常奇怪的东西已被推送到 git 存储库(提交的树包含无效文件;但树实际上并没有损坏,因为 sha1 总和匹配?!我不确定这是怎么发生的,但您必须隔离错误的提交并弄清楚如何修复它。

如果不是0000...,而是某个有效的SHA1 和,请尝试在另一个结帐中(来自&lt;repo-root&gt;/.git/objects/xx/xxxxxxx)找到该文件,然后手动将其复制到服务器。如果对象在一个包中,您可以尝试unpacking它

【讨论】:

0000... 是错误消息中的实际文件名。但是,我在我的存储库的任何其他成功签出版本中都找不到此对象。它也绝对不是任何推送文件的名称。但是,我刚刚注意到,当我尝试克隆一个不存在的存储库时,会出现同样的错误消息。 嗯。查看 this 以查找包含该 blob 的提交。如果没有,只需删除文件

Git - 如何从存储库(devops)中删除文件而不在本地克隆它

】Git-如何从存储库(devops)中删除文件而不在本地克隆它【英文标题】:Git-Howtoremoveafilefromrepository(devops)withoutcloningitlocally【发布时间】:2022-01-0721:42:31【问题描述】:我遇到了这个问题:一名团队成员将损坏的文件推送到azured... 查看详情

git push heroku master 因解析错误而失败 - 哪个文件?

】gitpushherokumaster因解析错误而失败-哪个文件?【英文标题】:gitpushherokumasterfailswithparseerror-whichfile?【发布时间】:2014-03-2419:58:25【问题描述】:我在执行gitpushherokumaster时遇到解析错误。Heroku告诉我哪一行和哪一列导致了解析... 查看详情

Windows 上的 npm 安装因 git 存储库而失败

】Windows上的npm安装因git存储库而失败【英文标题】:npminstallonwindowsfailswithgitrespositories【发布时间】:2021-11-2809:50:49【问题描述】:每当我尝试使用npminstall从加载到git存储库(在Windows上)的包中进行安装时,它都会失败:2494err... 查看详情

Git 存储库克隆错误(终端提示已禁用)

】Git存储库克隆错误(终端提示已禁用)【英文标题】:GitRepositoryCloningError(terminalpromptsdisabled)【发布时间】:2018-05-1204:01:11【问题描述】:我正在使用15.4.5版的VisualStudioEnterprise和2.15.0版的GIT。我正在尝试从VSTS克隆我的repo,但... 查看详情

Visual Studio 2017 - Git 因致命错误而失败

】VisualStudio2017-Git因致命错误而失败【英文标题】:VisualStudio2017-Gitfailedwithafatalerror【发布时间】:2017-07-2819:40:41【问题描述】:我正在使用VisualStudio2017社区版(CE),我已登录到我的Microsoft帐户并连接到VSTS。我可以看到我所有的... 查看详情

USERAUTH 因 Github 和 Spring 云配置的私钥文件而失败

】USERAUTH因Github和Spring云配置的私钥文件而失败【英文标题】:USERAUTHfailwithprivatekeyfileforGithubandSpringcloudconfig【发布时间】:2019-09-2305:42:05【问题描述】:我尝试使用使用私钥的方法(具有密码并从文件添加到ssh-agent)(根据thiss... 查看详情

Git 因致命错误而失败 - 无法读取用户名终端提示已禁用

】Git因致命错误而失败-无法读取用户名终端提示已禁用【英文标题】:Gitfailedwithafatalerror-couldnotreadUsernameterminalpromptsdisabled【发布时间】:2021-11-0413:34:03【问题描述】:我的本​​地git可能有什么问题?我能够在5分钟之前拉动... 查看详情

Git 因致命错误而失败。拒绝将不相关的历史与 git push 合并?

】Git因致命错误而失败。拒绝将不相关的历史与gitpush合并?【英文标题】:Gitfailedwithafatalerror.refusingtomergeunrelatedhistorieswithgitpush?【发布时间】:2020-10-0320:53:56【问题描述】:我在本地进行了一些更改,我正在尝试将其推送到gith... 查看详情

Alamofire Swift-2.0 分支因错误而失败

】AlamofireSwift-2.0分支因错误而失败【英文标题】:AlamofireSwift-2.0branchfailswithErrors【发布时间】:2015-08-0710:38:53【问题描述】:我有Xcode7-beta4,并在podfile中添加了swift2.0分支pod\'Alamofire\',:git=&gt;\'https://github.com/Alamofire/Alamofire.git\... 查看详情

HttpClient 在 Android 5.0 Lollipop 中因握手失败而失败

...3:46【问题描述】:Android5.0Lollipop中的DefaultHttpClient似乎已损坏。它无法设置与以前版本的Android成功设置的某些站点的连接。例如我尝试连接到https: 查看详情

git push heroku master 因“HTTP 400 curl 22 The requested URL returned error”而失败

】gitpushherokumaster因“HTTP400curl22TherequestedURLreturnederror”而失败【英文标题】:gitpushherokumasterfailsby"HTTP400curl22TherequestedURLreturnederror"【发布时间】:2019-02-0801:34:59【问题描述】:我正在尝试推送仅显示“你好,世界”的Rails... 查看详情

Azure 媒体服务 - 视频播放因损坏而中止... (0x20400003)

...发布时间】:2017-05-1820:07:40【问题描述】:我已将我的MP4文件上传到Azure,然后将它们转换为H2641080p流格式。当我尝试从播放器播放它时,它给了我以下错误:所有浏览器都一 查看详情

Android Build 因工件而失败 - 缺少依赖项

】AndroidBuild因工件而失败-缺少依赖项【英文标题】:AndroidBuildfailedwithartifactory-missingdependencies【发布时间】:2018-10-1221:54:14【问题描述】:我的Android项目有git&artifactory中的子模块。子模块的gradle依赖项包含这些。kapt\'com.google... 查看详情

IOS 构建因链接而失败

...。除此之外,我尝试了一个干净的构建并删除了DerivedData文件夹。有人可以帮忙吗?谢谢!【问题讨论】:您好,您是否已将Firebase二进制文件链接到项目,在LinkBinar 查看详情

scp 因“协议错误:文件名与请求不匹配”而失败

】scp因“协议错误:文件名与请求不匹配”而失败【英文标题】:scpfailswith"protocolerror:filenamedoesnotmatchrequest"【发布时间】:2019-07-0301:35:22【问题描述】:我有一个脚本,它使用SCP从AWS上的远程Linux主机中提取文件。在每... 查看详情

使用 Git 时如何解决“错误:错误索引 – 致命:索引文件损坏”

...并提交了。设置git守护进程(在WinXP上的Cygwin下运行)并克隆存储库一次。现在, 查看详情

Big Query 作业因“遇到错误字符 (ASCII 0)”而失败。

...误而失败行:14222274/字段:1,遇到错误字符(ASCII0)。其余文件未处理。数据已压缩,我已验证文件中不存在ASCII0字符。文件中只有142222 查看详情

Izpack 因“文件扩展名“.js”没有脚本引擎而失败,

】Izpack因“文件扩展名“.js”没有脚本引擎而失败,【英文标题】:Izpackfailswith\'Thereisnoscriptengineforfileextension".js",【发布时间】:2012-09-2412:03:38【问题描述】:在使用Izpack5Beta11的测试机器上,如果我使用运行捆绑的64位ja... 查看详情