2017-02-01 4 views
1

Ich habe drei Repositories: A, B und C.GIT Unter Submodul seltsames Verhalten

In meinem Repository A, habe ich ein Modul in Richtung B (A/Bibliothek/B).

In meinem Repository B habe ich ein Submodul in Richtung C (A/library/B/library/C) erstellt.

Ich möchte einen neuen Zweig auf mein Repository C erstellen:

git clone --recursive C 
cd C 
git checkout -b branch-test 
git touch test 
git add test 
git commit -m "test" 
git push origin branch-test 

Jetzt möchte ich einen Zweig auf mein Repository B zu schaffen, und dass auf meinem neuen Zweig, das Submodul in Richtung C folgt dem Zweig ich vorher erstellt:

git clone --recursive B 
cd B 
git checkout -b branch-test 
cd library/C 
git checkout branch-test 
cd ../../ 
git add library/C 
git commit -m "Updating version of submodule C" 
git push origin branch-test 

Bis dahin, kein Problem. Das Problem erscheint, wenn ich das gleiche auf meinem Repository A tun:

git clone --recursive A 
cd A 
git checkout -b branch-test 
cd library/B 
git checkout branch-test 

Nun, wenn ich an den A/Bibliothek/B werde und ich tippe „git branch“, ich sehe ich auf einem Ast bin " Branch-Test "meines Submoduls B. Aber wenn ich nach A/library/B/library/C gehe und ich" git branch "eintippe, kann ich sehen, dass ich auf einem freistehenden Commit bin und nicht auf der Branche" branch -Prüfung".

Wissen Sie warum?

Grüße, Ben

Antwort

0

Freistehendes Köpfe sind sehr häufig auch ohne Schichten Submodule.

Haben Sie den Rat gefunden here?