2012-07-06 126 views
77

我有一个回收站,托管在https://github.com/aikiframework/json。在我的本地副本,我用命令回购克隆时的空Git子模块文件夹

git submodule add [email protected]:jcubic/json-rpc.git json-rpc 

然后我做了一个承诺,推动增加一个子模块,以及变化似乎在GitHub上(我可以点击它)。但是,当我克隆回购

git clone https://github.com/aikiframework/json.git 

子模块文件夹json-rpc是空的。

我在这里错过了什么?我忘了什么吗?为什么该文件夹是空的?

回答

134

好的我发现了,克隆回购时需要添加--recursive

所以克隆命令结束为:

git clone https://github.com/aikiframework/json.git --recursive 
+158

没错。你也可以在'git submodule update --init'之后获取子模块,如果你已经克隆了,但是忘了'--recursive'。 – Amber 2012-07-06 07:56:47

+3

刚刚面临开发分支上有子模块但尚未在主分支上的问题。当使用--recursive克隆git repo时,它不会在master分支上找到子模块,并且您必须使用Ambers注释“git submodule update --init”来获取它以获取子模块。 – d4Rk 2013-06-14 15:27:33

+1

如果你使用'git submodule update --init',你将不得不去每个repo并执行'git checkout master',否则当你出现'git pull'时你会遇到错误'你当前没有在分支上.'尝试将其更新为更新的版本。 – Noitidart 2016-11-26 10:04:17