You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复未推送到远程仓库的Git本地特性分支缺失Blob问题

解决Git对象损坏及断链问题

步骤1:定位损坏树对象关联的文件

执行命令查看出问题的树对象内容,找到对应损坏Blob的文件名:

git ls-tree 375d0e935a25ad6c1fd56fcf9ad59efc251efc54

输出中会有一行指向39c8501fffd1b80fc2c2d483f6394537943a466c,记录该行对应的文件名(比如src/utils.js)。

步骤2:重新生成正确Blob并暂存

你已重新添加同名文件到工作区,将该文件暂存,让Git生成新的Blob对象:

git add <记录的文件名>

步骤3:提交修改生成新树对象

提交当前暂存的修改,新提交会使用全新的树对象,不再依赖损坏的旧树:

git commit -m "修复意外关机导致的Git对象损坏"

步骤4:验证修复结果

再次执行Git完整性检查,确认无错误:

git fsck --full

步骤5:合并分支并推送远程

修复完成后,正常合并特性分支并推送到远程:

git checkout <目标分支名>  # 例如main或develop
git merge <你的特性分支名>
git push origin <目标分支名>

补充说明

如果损坏的树对象仅存在于本地历史提交(远程仓库无对应提交),无需处理历史记录——推送的是修复后的最新提交,远程不会接收损坏对象。操作前请备份工作区和.git目录,避免数据丢失。

内容的提问来源于stack exchange,提问作者optimus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 09:10:35