git:致命:引用不是树。我运行git submodule update -i

时间:2011-12-18 21:19:20

标签: git

我的项目结构是:

enter image description here

我将RestKit添加为子模块。

当我运行git submodule update -i时出现错误:

fatal: reference is not a tree: da5895a5e0d1f827ccc0b94a0fe51f385875b4f8
Unable to checkout 'da5895a5e0d1f827ccc0b94a0fe51f385875b4f8' in submodule path 'RestKit'

如何解决此错误?

更新:我将子模块添加为

git submodule add git://github.com/RestKit/RestKit.git

修复Changes not staged for commit

后出现此错误(引用不是树)

1 个答案:

答案 0 :(得分:4)

克隆具有子模块的项目时,将运行

git submodule initgit submodule update,以便您可以获取子模块内容。它不是用于运行它添加项目的仓库。

另外,如果您尝试在克隆中尝试更新,似乎您已经自己签入RestKit子模块并且尚未发布(当然,在这种情况下,我认为您赢了&#39 ; t有权访问它)并且子模块init将失败,因为你所做的提交对克隆不可用。

请阅读此处了解子模块机制的详细信息:http://progit.org/book/ch6-6.html