2012-03-30 10 views
1

Ich habe ein Projekt mit 2 Filialen namens Master und Produktion. Diese 2 Zweige haben eine Abhängigkeit im Submodul plugin1. In Master verweist plugin1 auf die letzte Revision (rev2), während der Produktionszweig auf den vorherigen Commit (rev1) zeigt.Git merge meldet Submoduländerungen nicht

Wenn ich Master in die Produktion fusioniere, erwarte ich einen Produktionszweig, der jetzt auf die Revision rev2 zeigt, aber das tut es nicht. Gibt es dafür eine Option oder muss ich die Änderungen im Produktionszweig manuell melden?

Antwort

0

Wenn Sie in git eine Zusammenführung durchführen, die zu einer Änderung der Version eines Submoduls führt, wird diese neue Version im Submodul nicht automatisch ausgecheckt. Ich vermute, dass, wenn Sie tun:

git status 

... es wird berichtet, dass das Submodul an der falschen Version. Wenn ja, können Sie es mit Update:

git submodule update 
0

Sie könnten einen Beitrag merge Haken hinzufügen, die Sie fragen, so etwas wie this.

Beachten Sie, dass git submodule update kann Ihre lokalen engagierten entfernen, aber nicht gedrückt Änderungen wenn Sie welche haben:
Zitiert aus git manual:

Es ist nicht sicher git Submodul Update auszuführen, wenn Sie‘ ve made and committed ändert sich innerhalb eines Submoduls, ohne zuerst einen Zweig zu prüfen. Sie leise überschrieben werden: (... gefolgt von einem Beispiel)

HTH