Ich sehe das Problem hier nicht.
Dies haben Sie bereits jedes Mal in Ihrer master
Branche, die sich ständig ändert, während Features entwickelt und dann zusammengeführt werden.
In Ihrem konkreten Beispiel legen Sie also zunächst die feature_xxx_backend
Verzweigung an und entwickeln die Backend-Änderungen. In diesem Fall wird der Zweig überprüft und nach Abschluss master
der Überprüfung zusammengeführt.
Starten Sie einfach einen anderen Zweig feature_yyy_frontend
. Sie werden wahrscheinlich direkt von dort verzweigen wollen feature_xxx_backend
, damit Sie diese Änderungen bereits in Ihrer Datenbank haben. Entwickeln Sie dann einfach das Frontend-Feature, sobald die Verzweigung vorhanden ist master
.
Wenn sich die feature_xxx_backend
Verzweigung ändert, z. B. weil während der Überprüfung Dinge auftauchen, die behoben werden müssen, nehmen Sie diese Änderungen einfach vor und führen Sie sie in der feature_yyy_frontend
Verzweigung zusammen. Fahren Sie dann mit dem Frontend-Zweig fort.
Sobald die Überprüfung des Backend-Zweigs abgeschlossen ist, wird es in zusammengeführt master
. Zu diesem Zeitpunkt ist es ratsam, die feature_yyy_frontend
Verzweigung auf eine neue Basis zu stellenmaster
, sodass die Prüfer nur die neuen Änderungen überprüfen müssen, zu denen diese Verzweigung beiträgt master
, und nicht die Änderungen, die für das Backend vorgenommen wurden (die bereits genehmigt wurden) ).
Dies ist auch möglich, wenn Sie zwei, drei oder mehr abhängige Zweige haben. Wenn Sie zwei Feature-Zweige haben, von denen Sie abhängig sind, erstellen Sie einfach einen abgeleiteten Zweig, in dem beide Features zusammengeführt wurden. Verzweigen Sie von dort aus, entwickeln Sie das dritte Feature und führen Sie beide Feature-Zweige zusammen, wenn sich diese ändern. Wenn beide Features fertig sind und entweder in den abgeleiteten Zweig eingefügt werden, führen Sie einen Neustart auf diesen Zweig durch, oder führen Sie einen Neustart auf den Master durch, wenn sie in den Master eingefügt werden.
Das erneute Einrichten (wie oben vorgeschlagen) ist sehr leistungsfähig und hilft dabei, ein sauberes Protokoll der Änderungen zu führen, wodurch Überprüfungen erheblich vereinfacht werden.