Meine kleine Gruppe von Entwicklern erstellt und pflegt Schnittstellen zu verschiedenen Versionen des Kernprodukts unseres Unternehmens. Die verschiedenen Versionen unseres Kernprodukts sind größtenteils ähnlich, aber es gibt einige Unterschiede, die es erfordern, dass wir unseren Code in einer separaten Verzweigung für jede Version aufbewahren. Alles ist im selben Repository.Git - Änderungen an mehreren Hauptniederlassungen vornehmen
Wir mussten kürzlich zu Git wechseln und versuchen, den besten Workflow für die gleiche Änderung in allen unseren Niederlassungen zu finden. Bisher haben wir uns bei jedem Commit auf Cherry Pick verlassen. Es ist mühsam und es muss einen besseren Weg geben. Hier
ist ein Beispiel dafür, was wir tun:
V1 Master: ... (A1)--(B1)--(C1)---------(M)
\ /
V1 Feature: (D)----(E)
/
V2 Master: ... (A2)--(B2)--(C2) <--?
Vor unserer V1-Funktion auf V1 Master Zusammenführen wir auf V1 Master rebase. Dies ist einfach und sinnvoll, da V1 Feature von V1 Master abgezweigt wurde. Jetzt wollen wir aber dieselben D- und E-Commits für V2-Master anwenden. Die Zweige sind ähnlich genug, dass diese Commits keine Konflikte verursachen sollten. Im Moment wählen wir Cherry einzeln und in Reihenfolge.
Ich habe herumgesucht und ich kann den besten Weg nicht herausfinden, denn Cherry Pick kann nicht der richtige Weg sein, dies zu tun.
Mögliche Duplikate von [Mehrere Git Release-Zweige für mehrere Kunden verwalten] (https://stackoverflow.com/questions/39035631/manage-multiple-git-release-branches-for-multiple-customers) – max630