2012-07-06 110 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