2017-06-09 1 views
0

Unsere aktuellen Workflow für Git wie folgt aussieht:Veröffentlichung Spezifikum Zweige mit Git

Wir haben einen Zweig entwickeln, die unsere Hauptzweig ist und enthält alle laufenden Code. Dann haben wir einen separaten Release Zweig, der nur bestimmte Funktionen für dieses spezifische Release benötigt. Es kann Features geben, die in entwickelt aber nicht, dass Release Branch zusammengeführt werden sollte.

Wenn wir wollen eine neue Funktion erstellen, die in diesem separaten Release Zweig sollen wir einen neuen Merkmal Zweig vom Release Zweig selbst, da es auf dem abhängen kann Release branchs Code abzweigen und sollte keine anderen Merkmale enthalten, die in entwickelt werden könnten. Nach Fertigstellung dieser neuen Funktion verschmelzen wir diese Funktion Verzweigung in entwickeln und den Release-Zweig.

Wenn wir dies für eine zweite neue Funktion tun, haben wir das Problem, dass die Merge-Commit zuvor erstellt durch die Zusammenführung der ersten neuen Funktion in den Release-Zweig ist natürlich in der Geschichte der zweiten neuen Funktion und danach wäre fusioniert in entwickeln.

Wie können wir dies verhindern/unseren Workflow optimieren?

+0

Klicken Sie auf diesen Link hier https://help.github.com/articles/about-git-subtree-merges/ Ich hoffe, das hilft –

+0

Ich weiß nicht, wie das auf unser Problem bezieht. Sind ihre misunterstandings, sollte ich Ihnen mehr Informationen zur Verfügung stellen? –

Antwort

1

Um duplizierte merge Konflikte sowohl für die Entwicklung und Freigabe zu lösen, können Sie diesen Workflow betrachten können:

  1. erstellen feature Zweig von release
  2. merge feature Niederlassung in release
  3. dann verschmelzen release in develop

Dort kann st Ill hat Konflikte während der Zusammenführung release in develop, aber es ist nicht doppelt mit den Konflikten während feature merge in release. Und es macht mehr Sinn, release in develop seit develop als Hauptzweig zu verschmelzen, und es sollte mehr Funktionen enthalten, die in release Zweig gespeichert sind.

+0

Danke für Ihre Antwort! Aber unser Problem sind nicht die Zusammenführungskonflikte. Das Problem ist, dass die Merge-Commits, die durch die vorherigen Merges in den Release-Zweig erstellt wurden, im Grunde genommen Duplikate sind, da diese Features auch in Develop integriert wurden. Wir fügen ein neues Feature in beide Zweige ein und jeder von ihnen erhält seinen eigenen Merge-Commit, der dann im Grunde dasselbe sagt. Wenn wir dann ein neues Feature (verzweigt vom Release-Zweig mit dem vorherigen Merge-Commit in der History) in devel zusammenführen, ist dieses eine Merge-Commit im Grunde ein Duplikat und unserer Meinung nach unnötig. –

+0

Ja, verstanden. Und ich habe meine Antwort aktualisiert :) –

+0

Danke! Wir denken, das wird für uns funktionieren. –