2010-10-15 55 views
7

我想添加一个外部回购我的回购的子模块,所以我也跟着these instructions,这样做的:子模块的文件未签出

git submodule add git:... vendor 
git submodule init 
git submodule update 

然后我累了:

git submodule init vendor 
git submodule update vendor 

我添加的子模块具有子模块,并且子模块的子模块显示为检出(即:我在硬盘上看到文件),但子模块本身的文件未检出。

任何想法我做错了什么?

这是the repo that I'm trying to add as a submodule,它是src目录就是我在checkout/clone中看到的所有内容,以及子目录和文件或src,但我没有自述文件。

+1

你使用的是什么版本的Git? – VonC 2010-10-15 04:17:21

+0

'git --version' = 1.7.2 – erikvold 2010-10-16 00:42:49

回答

8

由于Git版本1.6.5您可以使用--recursive--init选项git submodule update以确保子模块初始化递归并更新。因此,对于我的例子,以下作品适合我:

$ git submodule add git://github.com/jbalogh/zamboni-lib.git vendor 
remote: Counting objects: 7001, done. 
remote: Compressing objects: 100% (5985/5985), done. 
remote: Total 7001 (delta 1137), reused 6337 (delta 736) 
Receiving objects: 100% (7001/7001), 14.88 MiB | 1.99 MiB/s, done. 
Resolving deltas: 100% (1137/1137), done. 
$ git submodule update --init --recursive 
[... lots of output ...] 

我希望这有些用处。

+0

优秀!我忘记了这个问题,并且关于'git update'选项。 +1 – VonC 2010-11-14 16:00:07