Ich habe ein Projekt, das sich irgendwann verzweigt hat. Beide Zweige hatten seit der Teilung eine Menge Commits und ich möchte sie zu einem zusammenführen. Das einfache Zusammenführen der beiden Köpfe ist nicht genug, weil es zu viele Konflikte gibt, und der verbundene Zweig ist ebenfalls instabil und nicht funktionsfähig.
Daher möchte ich die beiden Zweige inkrementell zusammenführen. Mit incremental ich meine, nehme ich die Spitze eines der Zweige und wenden Sie die Änderungen von dem jeweils anderen an. Testen Sie jede Zusammenführung, und fahren Sie fort, wenn alles gut geht.
Was ist der einfachste Weg dies mit Hilfe von Mercurial zu tun?
Sie haben eine Strategie selbst entworfen. Angenommen, Sie haben zwei Köpfe mit den Namen headA und headB. hg up -r headB
auf einen der beiden Köpfe, dann hg merge -r X
wiederholt verwenden, wobei X eine Revision entlang der anderen Entwicklungslinie ist.
Sie können hg log -r 'ancestor(headA,headB)::headA'
verwenden, um eine Liste guter Kandidaten für diese Zusammenführungen zu erhalten (abhängig von der Gesamttopologie).
Sie können hg-Transplantation verwenden, um bestimmte Changesets in einen Zweig zu ziehen.