2013-06-10 11 views
54

Kiedy biegnę git submodule init, pojawia się następujący błąd:Nie modułem odwzorowania znaleźć w .gitmodules na ścieżce i brakuje pliku .gitmodules

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

szukałem pliku .gitmodules i nie mogę go nigdzie znaleźć.

Przeczytałem this najpopularniejsze pytanie na SO na ten sam temat. Ale niestety nie mogę rozwiązać problemu. Szczególnie, że nie mam już .gitmodules.

Zgodnie z prywatnym repozytorium GitHub nadal mam submoduły dla mojego repozytorium. Po prostu nie mogę znaleźć pliku .gitmodules w dowolnym miejscu.

+2

Myślę, że warto byłoby zauważyć, że można utworzyć moduł pomocniczy przypadkowo, jeśli sfinalizujesz nowe repo wewnątrz istniejącego repo (definicja "modułu cząstkowego"). Jeśli to zrobisz, plik .gitmodule nie zostanie utworzony. – tandy

Odpowiedz

127
  1. Upewnij się, że nie ma sekcji w .git/config. Jeśli tak, usuń je.
  2. Do git rm --cached <path_to_submodule>.
+9

Tylko krok 2 powyżej był dla mnie wystarczający; git rm --cached . – christosc

+1

i po prostu nie zapomnij o "git commit" po drugim kroku. –

+1

Wywołanie 'git rm --cached' daje' fatal: Proszę, przesuń swoje zmiany do .gitmodules lub przechowuj je, aby kontynuować '. –

3

Oprócz powyższego musiałem również usunąć .gitmodules.

+0

W moim przypadku nie usunąłem całego pliku, ale usunąłem teraz nieprawidłowe wpisy i wszystko zaczęło działać ponownie. Dzięki! – KidIcarus271

0

Właśnie w tym samym numerze wczoraj, po usunięte ręcznie wpisem .gitmodules (np .gitmodules nano), musiałem iść z

git rm --cached <pathtomodule> 

który powrócił wiadomość

rm '<pathtomodule>' 

potem potrzebne

git commit -m "delete cached modules" 

i zweryfikował usunięcie modułu.

Powiązane problemy