子模块的文件未被检出

7

我正在尝试将一个外部仓库作为我的仓库的子模块添加进来,所以我按照这些指示进行操作:

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

然后我感到疲惫:

git submodule init vendor
git submodule update vendor

我正在添加的子模块有其它的子模块,这些子模块似乎已经被检出(即:我在硬盘上看到了文件),但是子模块本身的文件没有被检出。
请问我做错了什么?
这是我尝试添加的存储库(点击此处),其中的src目录是我在检出/克隆时看到的全部内容,包括src的子目录和文件,但例如readme文件却没有出现。

1
你使用的 Git 版本是什么? - VonC
1个回答

13

自从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 ...]

我希望那对你有所帮助。


太好了!我忘记了这个问题,以及 git update 的选项。+1 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接