Git 提交高频报错:remote rejected 与 Missing blob 解决方案
一、问题 1:remote rejected(远程分支已关闭)
1.1 报错日志
! [remote rejected] HEAD -> refs/for/chery_t1g_int_dev … closed)
error: failed to push some refs to 'ssh://xxx/app/g/phr2/chery-8155-app'
总结了 Git 推送时的两种常见错误:remote rejected 和 Missing blob。前者因远程分支关闭或状态不一致导致,后者因 Git 对象缺失引起。解决方案包括使用 git fetch 同步、git stash 备份修改、git rebase 或 pull --rebase 合并代码,必要时通过 git reset --hard 强制同步远程版本并配合 reflog 恢复提交。操作前务必备份本地变更以避免数据丢失。
! [remote rejected] HEAD -> refs/for/chery_t1g_int_dev … closed)
error: failed to push some refs to 'ssh://xxx/app/g/phr2/chery-8155-app'
远程分支 chery_t1g_int_dev 状态为「closed」(可能已被合并关闭或删除),本地分支与远程分支无法同步,导致推送失败。
git fetch origin
git stash save "备份本地未提交修改"
git rebase origin/chery_t1g_int_dev
git stash pop
git push
场景 1:Missing blob 报错
remote: Counting objects:243172,done
error: remote unpack failed: error Missing blob 8447100a08496645077a32f26594e952684604fa
fatal: Unpack error, check server log
To ssh://xxx/app/g7phr2/chery-8155-app
! [remote rejected] HEAD -> refs/for/chery_t1g_int_dev (n/a (unpacker error))
error: failed to push some refs to 'ssh://xxx/app/g7phr2/chery-8155-app'
场景 2:Missing tree 报错
error: remote unpack failed: error Missing tree 668efa771772ce6d9f45833b9f0c8834b42491ce
To http://xxx:8080/app/g7phr2/chery-8155-common-app
! [remote rejected] HEAD -> refs/for/master (n/a (unpacker error))
error: failed to push some refs to 'http://xxx:8080/app/g7phr2/chery-8155-common-app'
Git 仓库的核心对象(blob/tree)缺失,可能是本地仓库缓存损坏、远程仓库同步不完整,导致推送时服务器无法解析提交的对象。
git fetch origin
git stash save "备份本地未提交修改"
git pull --rebase
git stash pop
git push
若上述方法无效,可通过「强制同步远程最新版本」兜底(⚠️ 注意:会覆盖本地未推送的修改,务必先备份重要变更!)
git fetch origin master
git reset --hard origin/master
git pull --rebase
先通过 reflog 查看提交 ID:
git reflog
再通过 cherry-pick 恢复:
git cherry-pick <你的提交 ID>
git push
git reset --hard 前,务必通过 git stash save 或 git commit 备份本地修改;git reflog 查看历史操作记录,找回丢失的提交;以上两类问题均为团队协作中「分支同步不及时」或「Git 对象缓存异常」导致,核心解决思路:

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online