Git 应用补丁报错 “sha1 information is lacking or useless”
因为现场代码在客户局域网内,不能连接到公司网络,所以一般更新的时候都是打补丁,
然后在客户现场应用补丁,但是最近在应用补丁的时候出现了如下问题:
...
fatal: sha1 information is lacking or useless (config.xml).
...
这里使用的 GitExtension 的图形化界面管理版本库,进行补丁的生成和应用,
GitExtension 默认使用 3way-merge 来应用补丁,生成和应用补丁的命令如下:
# 生成补丁
> git format-patch -s (commit_id)
# 应用补丁
> git am --3way --signoff 0001.patch
解决办法:
总的来说就是强制应用补丁,手动解决文件问题,然后在继续应用补丁即可
-
执行
git am --3way --signoff --reject 0001.path
命令应用补丁,
并将补丁中不可应用的部分保存在*.rej
文件中,例如:以上面的报错信息来说,
就会多出来一个config.xml.rej
文件来标识不可应用的部分 -
根据
*.rej
文件修改没有应用完全的文件,我在处理的时候就比较生猛,
直接删除*.rej
文件,然后将修改后的文件覆盖 -
然后将需要提交的文件添加到缓存区
git add ...
,因为应用补丁的过程基本就是修改文件,
添加文件到缓存区,提交修改,由于修改文件的时候产生过了错误,
所以应用补丁过程就停在了修改文件环节,再继续执行时我们就需要将需要提交的文件添加到缓存区 -
最后执行
git am --continue
来继续执行补丁的应用即可
以上,既是 sha1 information is lacking or useless
的解决办法,
后经同事指导,还有更加生猛的办法... ...直接将版本库 .git
拷贝过去覆盖... ...
参考链接:
http://stackoverflow.com/questions/25846189/git-am-error-patch-does-not-apply
标签:
git
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)