Git子模块:引用不是树

时间:2012-11-21 06:52:44

标签: git git-submodules

  

可能重复:
  Git submodule head ‘reference is not a tree’ error

Git发生此错误:

  

致命:引用不是树:   081fe062d788900919a64d2222891a7357aa1364

我知道这个错误就像是一个尚未提升的提交。但它不可能?!

我从Github克隆了Mapbox-ios-sdk。 Mapbox-ios-sdk有这个FMDB模块(还有另一个Git repo),我对它进行了修改(我只是添加一个带有一些C宏的文件)。

所以这就是(我认为)我做的:

(1)。 github fork FMDB,克隆我的fork,修改它,把它推回我的叉子。

(2)。克隆mapbox-ios-sdk,切换分支开发(因为我需要它)。删除原始FMDB模块,添加我的FMDB模块分支。

之后,当我从我的mapbox-ios-sdk fork中克隆时,切换分支进行开发,没问题。

但实际上我得到了这个使用mapbox-ios-sdk的主项目:

(3)从我的主项目中删除mapbox-ios-sdk子模块。添加一个新的子模块,它是我自己的mapbox-ios-sdk的分支。把它推回我的Bitbucket私人项目。

当我在我的私人项目上git clone --recursive时,事情就会发生。它会说引用不是树。但显然它是,因为我仍然可以从我的mapbox-ios-sdk fork克隆!

可能是什么问题?

编辑: 好吧,我通过重新执行所有步骤来修复它。我仍然不明白为什么git clone --recursive mapbox-ios-sdk有效但有git clone --recursive master_project无法合并mapbox-ios-sdk

0 个答案:

没有答案