2012-04-25 14 views
23

Stworzyłem projekt submodule i umieściłem go na Github.git: zmień początek sklonowanego submodułu

I stworzył kolejny projekt, supermodule, a potem zrobił to:

cd supermodule 
git init 
mkdir lib 
git clone git://github.com/tandu/submodule lib/submodule 
git submodule add ./lib/submodule lib/submodule 

To działało w porządku, ale na stronie internetowej, że nie można znaleźć link do modułem podczas przeglądania plików (w rzeczywistości po prostu mówi "Ładowanie danych zatwierdzenia" na zawsze). Sam folder submodule ma poprawną origin.

Widocznie, co powinienem zrobić było

... 
mkdir lib 
git submodule add git://github.com/tandu/submodule lib 

... ale to zbyt późno na to teraz. W jaki sposób mam moduł podrzędny w tym projekcie poprawnie wskazywać na origin?

Odpowiedz

41

To najwyraźniej bardzo zależy od wersji git, z której korzystasz.

  1. Jeśli występuje, zmienić wpis w sekcji [submodule "<dirname>"] pliku .gitmodulesurl.
  2. Jeśli występuje, zmień wpis url w sekcji [submodule "<dirname>"] pliku .git/config.
  3. Zmień url w konfiguracji samego modułu. Lokalizacja pliku config zależy od wersji. Starsze wersje miały go w <dirname>/.git/config, nowsze w .git/modules/<dirname>/config. Jednak zawsze można skorzystać z poniższego polecenia:
cd <dirname> 
git config remote.origin.url <new_url> 
+5

z aktualnej wersji git (2.1.0), robi 'git modułem synchronizacji --recursive' było dla mnie za mało, aby zaktualizować do modułem' pochodzenie 'zdalny. – desseim

Powiązane problemy