2013-06-10 14 views
54

Quando eseguo git submodule init, ottengo il seguente errore:Nessun modulo mappatura trovato in .gitmodules per percorso e il .gitmodules mancanti

No submodule mapping found in .gitmodules for path 'xxx'

Ho cercato un file di .gitmodules e non riesco a trovare da nessuna parte.

Ho letto this la domanda SO più popolare sullo stesso argomento. Ma sfortunatamente, non riesco a risolvere il problema. Soprattutto dato che non ho più .gitmodules.

In base al mio repository privato GitHub, ho ancora i sottomoduli per il mio repository. Solo che non riesco a trovare il file .gitmodules ovunque.

+2

Penso che valga la pena notare che è possibile creare un sottomodulo accidentalmente se si avvia un nuovo repository all'interno di un repository esistente (la definizione di "sottomodulo"). Se lo fai, il file .gitmodule non verrà creato. – tandy

risposta

127
  1. Verificare che non vi siano sezioni submodule in .git/config. Se ci sono, rimuovili.
  2. Do git rm --cached <path_to_submodule>.
+9

Il solo passaggio 2 sopra è stato sufficiente per me; git rm --cached . – christosc

+1

e non dimenticare di 'git commit' dopo il secondo passaggio –

+1

Chiamare' git rm --cached' dà 'fatale: per favore, metti in scena le modifiche a .gitmodules o mettile in ordine per procedere. –

3

In aggiunta a quanto sopra ho anche dovuto rimuovere .gitmodules.

+0

Nel mio caso non ho eliminato l'intero file, ma ho rimosso le voci ora non valide e le cose hanno iniziato a funzionare di nuovo. Grazie! – KidIcarus271

0

ottenuto appena sopra lo stesso problema di ieri, dopo aver cancellato a mano l'entrata in .gitmodules (ad esempio .gitmodules nano), ho dovuto andare con

git rm --cached <pathtomodule> 

che ha restituito un messaggio

rm '<pathtomodule>' 

quindi avevo bisogno di un

git commit -m "delete cached modules" 

e convalidato l'eliminazione del sottomodulo.

Problemi correlati