2012-03-29 5 views
3

Es scheint, dass, wenn Projekt A Submodule mit Remote-URLs hat, git clone --recursive A B darauf besteht, Kopien von jedem Submodul-Repository von der Remote-URL abzurufen. Gibt es eine Möglichkeit, git dazu zu bringen, die Submodul-Repositories von den Kopien in A zu klonen, anstatt aus den Remote-Repositories zu ziehen?Wie bekomme ich Git-Klon --recursive A B, um die Submodul Repositories in A zu verwenden?

Ich nehme ich so etwas tun könnte:

git clone A B 
cd A 
git submodule --quiet foreach 'echo [submodule \"$path\"]\\n path = $path\\n url = $toplevel/$path ' > ../B/.gitmodules 
cd ../B 
git submodule sync 
git submodule update --init --recursive 
git checkout .gitmodules 
cd .. 

Gibt es einen einfacheren Weg?

Antwort

1

Alles ist lokal?

cp -r A B 

[Antwort auf Kommentar]

Wenn ein schmutzig ist, dann gilt:

(cd A; git stash) 
    cp -r A B 
    (cd B; git stash drop) 
    (cd A; git stash apply) 
+0

Ja, das ist toll, aber es auch in dem Repository lokale Änderungen kopiert, wenn die A-Repository ist verschmutzt. Aber ja, wenn A sauber ist, sieht das nach einer guten Lösung aus. –

Verwandte Themen