Przenoszenie kopii roboczej git zawierającej submoduły
Ostatnia zmiana w Git zmieniła sposób.git
katalog jest obsługiwany przy użyciu submodułów. Zamiast go mieć.git
na submoduł wszystko jest teraz na „poziomie głównym”.git
katalog (ten odpowiadający kopii roboczej zawierającej podmoduły).
Następnie w każdym podmodule tworzony jest plik, który wskazuje nową lokalizację.git
informator.
Wmój projekt, Mam następujące.gitmodules
plik:
[submodule "tests/shared-tests"]
path = tests/shared-tests
url = git://github.com/roboptim/roboptim-shared-tests.git
[submodule "cmake"]
path = cmake
url = git://github.com/jrl-umi3218/jrl-cmakemodules.git
Kiedy robięgit clone --recursive
, A następnie uzyskuję:
$ cat cmake/.git
gitdir: /home/moulard/profiles/default-x86_64-linux-ubuntu-12.04.1/src/unstable/roboptim/roboptim-core/.git/modules/cmake
Obecnie używam Git 1.8.1.5.
Moje pytania to:
Dlaczego to zachowanie się zmieniło? Nie widzę żadnych oczywistych korzyści z tej nowej strategii.Jak mogę bezpiecznie przenieść kopię roboczą? (jeśli przeniosę moją kopię roboczą, otrzymam komunikat o błędzie informujący mnie, że ścieżka do uszkodzonego gitdir nie jest już repozytorium Git)Pamiętaj, że to nie to samo, co poprzednie pytaniePrzenoszenie katalogu nadrzędnego repozytorium git zawierającego submoduły w takim sensie jak japewnie nie jest to kwestia związana z obecnością absolutnej ścieżki w moim.gitmodules
plik.