was verursacht submodul conficts in git und wie sollten sie gelöst werden?

8

Wir benutzen Submodule und wir sind neu bei Git.

Wir sehen oft Zusammenführungskonflikte für die Submodule selbst, keine Dateien sind in Konflikt, nur das Submodul. In der Ausgabe von git submodule summary sind mehrere Versionen aufgeführt. Wir lösen sie auf, indem wir im Superprojekt git add <submodule> ausführen.
Aber heute hatten wir einen Entwickler, der ein Commit des Submoduls verlor, als sie den Konflikt auf diese Weise löste Ist das Ausführen eines Git Add die Remote-Version? Sollte der Inhalt des Submoduls nicht zusammengeführt werden? Wenn sie Änderungen im Submodul vorgenommen und sie (wie ich sehe) übernommen hat, warum sollte dann das Commit dann verschwinden, nachdem sie den Konflikt gelöst und den Konflikt gelöst hat?

    
user561638 14.07.2011, 21:22
quelle

2 Antworten

9

Sowohl Datei Konflikte und Submodul Konflikte auftreten wenn Ihre aktuelle Zweigstelle und der Zweig-Sie -Will-to-merge-in-divergiert haben .

Es bedeutet lediglich, dass eine mehrdeutige Situation existiert - Sie könnten legitim wollen, dass entweder in jedem Fall "gewinnt". So, während es "lästig" scheinen mag, markieren sie nur Ihre reichen Optionen, um anzugeben, was Sie wollen (und Sie müssen angeben, was Sie wollen). (Und all diese Programmierer tun jeden Tag nur, um Details zu spezifizieren.)

Es scheint, als hätte das git-add-the-submodule-on-the-superproject funktioniert. Sie hatten jedoch auch die Möglichkeit, sofort git-checkout-on-the-superproject durchzuführen. Dies wird in diesem Link (Auflösen von Submodulkonflikten) erwähnt, der sich auf den Unterschied zwischen Datei -Konflikten und Summodul -Konflikten bezieht und wie man sie löst:

Ссылка

    
charley 18.07.2011, 18:40
quelle
11

Ihr lokales Submodul und das entfernte Submodul sind voneinander getrennt.

%Vor%

oder für Ihre Version:

%Vor%

und dann commit die Änderungen mit git add und commit die Änderungen.

Hinweis: Ihre Shell fügt dem Submodulnamen möglicherweise einen abschließenden Schrägstrich hinzu, wenn Sie tabcomplete, da dies auch ein Unterverzeichnis ist. Wenn ja, müssen Sie es löschen oder Sie erhalten:

%Vor%     
Andrew Wagner 19.05.2014 11:28
quelle

Tags und Links