git上传对象文件错误解决方案
git上传对象文件错误解决方案
时隔一个星期, 当我再次完成开发之后, 准备将代码上传, 却出现了一个上传代码的错误, 记录一下错误和解决方案
解决方案:
- 运行
git fsck --full
(base) ifeng@ubuntu:~/Desktop/luffycity$ git fsck --full
error: 对象文件 .git/objects/c9/e590416bbe286dc32a17ddf14670ebb52e4520 为空
error: 对象文件 .git/objects/c9/e590416bbe286dc32a17ddf14670ebb52e4520 为空
fatal: 松散对象 c9e590416bbe286dc32a17ddf14670ebb52e4520(保存在 .git/objects/c9/e590416bbe286dc32a17ddf14670ebb52e4520)已损坏
- 在.git目录下find . -type f -empty -delete -print 会删除全部空文件
(base) ifeng@ubuntu:~/Desktop/luffycity$ cd .git
(base) ifeng@ubuntu:~/Desktop/luffycity/.git$ find . -type f -empty -delete -print
./FETCH_HEAD
./objects/cd/cd1a2512ad47d7e2290b02a2a77ea79277e7c9
./objects/c9/e590416bbe286dc32a17ddf14670ebb52e4520
./objects/6a/871d8bf9b841b8febcc3a4c7c6c17ac9557a79
./objects/82/01d128f3356e1cbe2c2413ff422c53974b80db
./objects/2c/cdc2e45330ea23f1fb2f1cf133c7e9dc54680b
./objects/2c/65cffca3b6403b675f19701f41e64f3166401f
./objects/71/420f984a2d039563d7b80cb295f37e55b45ad3
- 再次运行
git fsck --full
, 还是有错,head指向元素不存在,是之前一个空文件,我们已经删了
(base) ifeng@ubuntu:~/Desktop/luffycity/.git$ git fsck --full
正在检查对象目录: 100% (256/256), 完成.
error: refs/heads/feature/user:无效的 sha1 指针 c9e590416bbe286dc32a17ddf14670ebb52e4520
error: refs/remotes/origin/feature/user:无效的 sha1 指针 c9e590416bbe286dc32a17ddf14670ebb52e4520
error: HEAD:无效的 sha1 指针 c9e590416bbe286dc32a17ddf14670ebb52e4520
error: 71420f984a2d039563d7b80cb295f37e55b45ad3:cache-tree 中无效的 sha1 指针
悬空 blob 38fae659ca427cf6d82705f281bd6549bb3bef41
悬空 tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904
悬空 blob a517beeb35b0c70cd4b361ec6e085e58ef47c225
- 手动获取最后两条reflog, 运行
tail -n 2 .git/logs/refs/heads/feature/user
, 后面的部分就是上面信息的路径
(base) ifeng@ubuntu:~/Desktop/luffycity$ tail -n 2 .git/logs/refs/heads/feature/user
03f77f97f3f2f687186f74b7ceaee4e9c6103dde 377adde104760d582bf76985a95f5c2262491b1c ifeng <ifeng190410@gmail.com> 1684228848 +0800 commit: feature: 注册功能实现流程-客户端请求发送短信并实现短信倒计时冷却提示!
- head当前是指向最新的那一条记录, 所以我们看一下parent commit即倒数第二次提交
git show 377adde104760d582bf76985a95f5c2262491b1c
(base) ifeng@ubuntu:~/Desktop/luffycity$ git show 377adde104760d582bf76985a95f5c2262491b1c
可以看到内容是正常的
那么我们就重新设置head, 使其指向倒数第二条
git update-ref HEAD 377adde104760d582bf76985a95f5c2262491b1c
最后我们git push的时候发现还是有错
(base) ifeng@ubuntu:~/Desktop/luffycity$ git push origin feature/user
error: refs/remotes/origin/feature/user 没有指向一个有效的对象!
error: refs/remotes/origin/feature/user 没有指向一个有效的对象!
To gitee.com:i__feng/luffycity.git
! [rejected] feature/user -> feature/user (fetch first)
error: 无法推送一些引用到 'git@gitee.com:i__feng/luffycity.git'
提示:更新被拒绝,因为远程仓库包含您本地尚不存在的提交。这通常是因为另外
提示:一个仓库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更
提示:(如 'git pull ...')。
提示:详见 'git push --help' 中的 'Note about fast-forwards' 小节。
根据错误提示执行git pull origin feature/user
我们从远程仓库自动合并feature/user
(base) ifeng@ubuntu:~/Desktop/luffycity$ git pull origin feature/user
来自 gitee.com:i__feng/luffycity
* branch feature/user -> FETCH_HEAD
自动合并 luffycityapi/luffycityapi/apps/users/serializers.py
Merge made by the 'recursive' strategy.
- 最后再去提交重新提交我们的代码就完成了
(base) ifeng@ubuntu:~/Desktop/luffycity$ git push origin feature/user
枚举对象中: 28, 完成.
对象计数中: 100% (27/27), 完成.
使用 4 个线程进行压缩
压缩对象中: 100% (13/13), 完成.
写入对象中: 100% (14/14), 2.16 KiB | 736.00 KiB/s, 完成.
总共 14 (差异 6),复用 0 (差异 0)
remote: Powered by GITEE.COM [GNK-6.4]
To gitee.com:i__feng/luffycity.git
c9e5904..ff1c1a9 feature/user -> feature/user
git上传对象文件错误解决方案的更多相关文章
- git 上传本地文件到github
git 上传本地文件到github 1 git config --global user.name "Your Real Name" 2 git config --global u ...
- Git上传空文件夹
git上传的文件夹为空的时候 1,先删除空的文件夹 参考:https://www.cnblogs.com/wang715100018066/p/9694532.html 2,这个只能说是技巧不能说是方 ...
- Web上传大文件的解决方案
需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制. 第一步: 前端修改 由于项目使用的是 ...
- JS上传大文件的解决方案
最近遇见一个需要上传百兆大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现. 在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表 ...
- B/S上传大文件的解决方案
第一点:Java代码实现文件上传 FormFile file = manform.getFile(); String newfileName = null; String newpathname = ...
- php无法上传大文件完美解决方案
php.ini无法上传大文件完美解决办法 1.打开php.ini(打开方式就不用说了,百度一大堆) 2.查找post_max_size 表单提交最大数值,此项不是限制上传单个文件的大小,而是针对整个表 ...
- 上传文件到CDN,上传后文件错误。
开始用xfp上传,发现文件错误.后来改用filezilla,上传后文件正确.害苦了我啊
- vue上传大文件的解决方案
众所皆知,web上传大文件,一直是一个痛.上传文件大小限制,页面响应时间超时.这些都是web开发所必须直面的. 本文给出的解决方案是:前端实现数据流分片长传,后面接收完毕后合并文件的思路. 实现文件夹 ...
- .net上传大文件的解决方案
ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现. 下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压. ASP.NE ...
- asp.net上传大文件的解决方案
IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头. 一. 两个必要响应头Accept-Ranges.ETag 客户端每次提交下载请求时,服务 ...
随机推荐
- 2023 年最新最全的 React 面试题
React 作为前端使用最多的框架,必然是面试的重点.我们接下来主要从 React 的使用方式.源码层面和周边生态(如 redux, react-router 等)等几个方便来进行总结. 1. 使用方 ...
- 声网Agora 实时音视频服务正式上线 HTC VIVE Sync App,支持非 VR 用户
全球实时互动云服务开创者和引领者声网Agora(纳斯达克股票代码:API)宣布其视频 SDK 现已集成到领先的 VR/XR 远程协作及会议应用 HTC VIVE Sync App 中. 通过集成声网A ...
- epub文件如何查看
http://epub-reader.online/# 你可以用在线的epub阅读器查看. 你可以使用本地的epub阅读器查看.如neatReader,wps. 你可以将epub转换成pdf,然后查看 ...
- 如何基于Security框架兼容多套用户密码加密方式
一.说明 当已上线的系统存在使用其他的加密方式加密的密码数据,并且密码 不可逆 时,而新的数据采用了其他的加密方式,则需要同时兼容多种加密方式的密码校验. 例如下列几种情况: 旧系统用户的密码采用了 ...
- ES6中的解构赋值(数组,对象,嵌套,默认值)
解构赋值 通过解构赋值,可以快速从对象或者数组中取出属性或者数值. 解构赋值 可以通过定位到数组或者对象的某一个位置,将值直接赋给一个或多个变量. const arr = ['dasha', 'ers ...
- 机器学习基础07DAY
分类算法之决策树 决策树是一种基本的分类方法,当然也可以用于回归.我们一般只讨论用于分类的决策树.决策树模型呈树形结构.在分类问题中,表示基于特征对实例进行分类的过程,它可以认为是if-then规则的 ...
- Linux配置为代理服务器,代理微信
1.安装squid(全程使用root账号,如使用其他请注意权限问题) yum install squid 2.生成代理的账号密码 #如果没有htpasswd命令 先安装sudo yum install ...
- c#快速入门~在java基础上,知道C#和JAVA 的不同即可
观看下文前提:如果你的主语言是java,现在想再学一门新语言C#,下文是在java基础上,对比和java的不同,快速上手C# C# 学习参考文档和开发工具 微软c#官方文档:https://learn ...
- Java设计模式 —— 原型模式
7 原型模式 7.1 原型模式概述 Prototype Pattern:使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象. 原型模式的工作原理:将一个原型对象传给创建者,该创建者通 ...
- sql 开窗函数排序遇到空值的处理办法
sql sever默认null最小 升序排序 null值在最前面,若要放在后面,则: order by case when col is null then 1 else 0 end, col 降序排 ...