Git-Verzweigungsstrategie für Feature-Zweige und gemeinsamen Code

9

Ich habe die hier beschriebene git-Verzweigungsstrategie Ссылка

verwendet

Bisher hat es wirklich gut für mich funktioniert.

Die Frage, die ich häufig stelle, ist, dass ich während der Arbeit an einem Feature-Zweig am Ende Code implementieren muss, der für das gesamte Projekt relevant ist. Was ist der beste Weg, um mit diesen Situationen umzugehen?

a) Schauen Sie sich den Hauptentwicklungszweig an, schreiben Sie die Änderung fest und bringen Sie den Feature-Zweig von develop neu.

b) Nehmen Sie die Änderung am Feature-Zweig vor und führen Sie dann die Entwicklung erneut durch, damit andere Feature-Zweige auf diesen Code zugreifen können.

c) Erstellen Sie einen neuen Zweig für den gemeinsamen Code und führen Sie diesen in Develop zusammen mit allen Feature-Zweigen, die ihn verwenden müssen.

Hier ist eine andere Frage. Wie oft verschmelzen Sie einen Feature-Zweig wieder in den Hauptentwicklungszweig? Warten Sie, bis die Funktion vollständig abgeschlossen ist, fusionieren Sie sie und löschen Sie sie? Oder verschmelzen Sie mehrmals während ihrer Lebensdauer wieder zu entwickeln, wenn es stabil ist?

    
Christian Schlensker 01.03.2011, 16:09
quelle

1 Antwort

4

Ich mag Option a /, aber die Realität ist, wenn Sie commits nach commits tun, erkennen Sie nur, dass einige von ihnen tatsächlich gemeinsamen Code viel später im Prozess sind.

Wenn dies in einem feature Zweig passiert (der normalerweise noch nicht gepusht und geteilt wurde), mache ich lieber ein interactive rebase , ordne die Commits für den gemeinsamen Code zuerst neu und füge dann% co_de zusammen % verzweigen in den Zweig master für die n ersten Commits (Fast-Forward-Merge).
Von dort aus kann ich auf feature auf jeden anderen Zweig referenzieren, die von diesen neuen gemeinsamen Merkmalen profitieren müssen.

Das Zusammenführen eines Feature-Zweigs ist nur dann sinnvoll, wenn der Status dieses Feature-Zweiges für andere sichtbar sein muss (weil Sie master beibehalten und master branch privat für Ihr Repository beibehalten möchten).
Wenn der Rest der Entwicklung:

  • kann fortfahren, ohne irgendeinen Teil von dem zu benötigen, was sich im feature Zweig befindet
  • kann fortfahren, ohne einige allgemeine Dateien zu ändern (was eine viel schwierigere Zusammenführung bedeuten würde, je länger Sie zwischen feature und master branches warten)

, dann möchte ich feature branch später zusammenführen.

    
VonC 01.03.2011, 18:46
quelle

Tags und Links