Wie soll ich mit gitflow einen Hotfix wieder in einen Feature-Zweig integrieren?

10

Ich habe angefangen, gitflow für ein Projekt zu verwenden, und ich habe einen hervorragenden Feature-Zweig sowie einen neu erstellten Hotfix. Gemäß dem Gitflow-Workflow wird der Hotfix sowohl auf den Master- als auch auf den Entwicklungszweig angewendet , es wird jedoch nichts über vorhandene Feature-Zweige gesagt oder getan.

Trotzdem möchte ich die Hotfix-Änderungen wieder in meinen Feature-Zweig integrieren, der, soweit ich das beurteilen kann, drei Optionen bietet:

  1. Übernehmen Sie die Änderungen nicht. Wenn die Änderungen für den Feature-Zweig erforderlich waren, sollte dieser Teil des Feature-Zweigs sein.
  2. Zusammenführen entwickeln sich wieder zum Feature-Zweig. Dies scheint dem Gitflow-Workflow am besten zu folgen, würde jedoch zu Commits außerhalb der Reihenfolge führen.
  3. Setzen Sie den Feature-Zweig erneut auf " Entwickeln" . Dies würde die Festschreibungsreihenfolge beibehalten, aber eine Neubasierung scheint im allgemeinen Gitflow-Workflow völlig zu fehlen.

Was ist hier die beste Vorgehensweise?


quelle
Feature-Zweige sollten im Allgemeinen sehr kurzlebig sein. Es ist eine Art SCM-Geruch, Änderungen in ihnen zusammenzuführen. Ist es unmöglich, den Feature-Zweig einfach zu beenden (oder zu stabilisieren) und wieder zusammenzuführen?
Aaronaught
2
@Aaronaught gut, das Feature ist nicht fertig / kann nirgendwo hingehen. Die Grundsituation besteht darin, dass eine Funktion, deren Entwicklung einige Tage in Anspruch nimmt, einen Fehler aufgedeckt hat, der möglicherweise Auswirkungen auf die Produktionsdaten haben kann. Es wurden Tests geschrieben, Hotfix auf Master / Produktion angewendet, aber die unvollendete Funktion wird immer noch durch den Fehler beschädigt. Schlagen Sie vor, ein halbfertiges Feature in die Entwicklungshauptlinie einzufügen? Was passiert, wenn die Funktion nicht verfügbar ist?

Antworten:

11

Ich sehe nichts falsches daran, Ihren Feature-Zweig auf Entwicklung umzustellen , um die neuesten Hotfixes zu erhalten. Tatsächlich kann es hilfreich sein, Ihren Feature-Zweig häufig gegen " Entwickeln" neu auszurichten , da Sie damit Ihren Zweig "auf dem neuesten Stand" halten können, was das Zusammenführen in diesem Stadium erheblich erleichtert.

Wayne Conrad
quelle
Ja: Wenn Sie sich noch einmal umschauen, deuten Indizien - einschließlich der Ankündigung von gitflow 0.2, die das Feature-Rebasing hinzufügte - darauf hin, dass der reguläre Git-Rebase-Workflow auch der Gitflow-Workflow ist.
2
Interessant. Ich kann nicht sagen, dass ich ein Experte für Gitflow bin, aber mein Verständnis war, dass Hotfixes einzigartige Commits gegen Master waren, keine Zweige, und ich habe sie einfach ausgewählt, um sie zu entwickeln. Beim Lesen dachte ich, dass ich völlig falsch lag.
jb510