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

Git推送子仓库(subtree)时触发assertion failed错误求助

Git推送子仓库(subtree)时触发assertion failed错误求助

各位大佬好,我碰到了一个Git subtree推送的棘手问题,查了半天资料都没头绪,想请教下大家的思路:

背景情况

我有一个父仓库,里面通过subtree方式嵌套了一个子目录。最开始这两个是完全独立的仓库(不是用git subtree split工具拆分出来的)。

操作步骤

  1. 我先在机器#1上用下面的命令创建了subtree:
    git subtree add --prefix [my prefix] [repo url] trunk --squash
    
    之后推送到父仓库的远程仓库,整个过程没有问题。
  2. 接着在机器#2上拉取了父仓库的代码,也一切正常。
  3. 我在父仓库里修改了subtree目录下的某个文件,从父仓库的根目录提交了这个改动,然后推送到了父仓库的远程。
  4. 现在我想把这个改动同步推送到子仓库的远程,于是运行了下面的命令:
    git subtree push --prefix [my prefix] [repo url] trunk
    

遇到的错误

命令运行后,它花了几分钟检查提交记录,然后突然抛出了这个错误:

fatal: assertion failed: test blob = tree -o blob = commit

我在网上搜了一圈,完全找不到相关的问题解释,有没有大佬知道这可能是什么原因导致的?

备注:内容来源于stack exchange,提问作者austinw

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 14:02:37