2012-07-06 17 views
77

Ho un repository ospitato su https://github.com/aikiframework/json. Sulla mia copia locale, ho aggiunto un modulo usando il comandoVuota la cartella del sottomodulo Git quando il repository è clonato

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

poi ho fatto un commit e spingere, e le modifiche appaiono su GitHub (posso cliccare su di esso). Ma quando clone il repository

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

la cartella del sottomodulo json-rpc è vuota.

Cosa mi manca qui? Ho dimenticato qualcosa? Perché questa cartella è vuota?

risposta

134

OK L'ho trovato, necessario aggiungere --recursive durante la clonazione del repository.

Così il comando clone finisce come:

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

Yep. Puoi anche recuperare i sottomoduli dopo il fatto con 'git submodule update --init', se hai già clonato ma hai dimenticato' --recursive'. – Amber

+3

Appena affrontato il problema che c'è un sottomodulo sullo sviluppo del ramo, ma non ancora sul ramo principale. Quando clonate il repository git usando --recursive, non troverà il sottomodulo sul ramo master, e dovrete recuperarlo usando il commento di Ambers "git submodule update --init" per ottenere anche il sottomodulo. – d4Rk

+1

Se usi 'git submodule update --init' dovrai andare ad ogni repo e fare' git checkout master' altrimenti otterrai l'errore 'Non sei attualmente su un ramo' su' git pull' quando tu prova ad aggiornarlo ad una versione più recente. – Noitidart

Problemi correlati