Wir verwenden git, um Entwicklungs- und versionierte Releases zu verfolgen, und stießen auf einige Probleme beim Zusammenführen von Zweigen. Hier ist unser Workflow:Git-Workflow: Wie füge ich Commits ein, die nur für einen neuen Zweig erstellt wurden
production/1.0.0 A--B
stage/2.0.0 A--B--C--D
development E--F--G--J--L
\
feature H--I--K
Feature-Entwicklung geschieht auf einem Feature Zweig, der von der Entwicklung erstellt wurde und wenn Sie fertig sind verschmolzen ist für Demo- und Test zurück.
Das alles funktioniert gut, das Problem ist, wenn der Entwickler, der diesen Feature-Zweig erstellt hat, ihr Feature in einen Stage-Zweig für die Bereitstellung versetzt. Da sie bei G von der Entwicklung abgezweigt sind, wenn sie zusammengeführt werden, enthält sie EFG, wenn sie nur HIK zusammenführen wollen. Das Ziel mit unserem Git-Workflow ist es, dass Entwickler ihren eigenen Code für die Veröffentlichung markieren und koordinieren, dass der gesamte Entwicklungszweig in den Deployment-Zweig integriert werden kann, da die Entwicklung auf der ganzen Welt nicht möglich ist.
Gibt es einen Git-Befehl, um Commits, die in einem Feature-Zweig erstellt wurden, einfach zusammenzuführen? Ich kenne Rebase und Cherry Pick, aber eine Funktion kann aus einer großen Anzahl von Commits bestehen, bei denen Merge aus der Entwicklung ihren Feature-Zweig aufholt. Gibt es eine bessere Lösung?
Ist dieser Workflow korrekt? Versuchen wir etwas zu tun, das nicht nachhaltig ist?
'git checkout Bühne/2.0 .0; git cherry-pick G..K' – ElpieKay
Was würde passieren, wenn die Entwicklung in ein Feature zwischen I und K zusammenfließen würde (Der Entwickler würde seinen Zweig zwischenspeichern) Würde der Cherry-Pick auch diesen zusammenführen und den gesamten Entwicklungszweig-Code enthalten damit? – Cale
@Cale Ich habe die Antwort aktualisiert, um Ihren Kommentar zu beantworten. – VonC