Wenn Sie versuchen, dem hier und mit Tools hier dokumentierten Git-Flow-Verzweigungsmodell zu folgen , wie sollten Sie mit dieser Situation umgehen:
Sie haben eine Version 1.0 und eine Version 2.0 erstellt. Dann müssen Sie einen Hotfix für 1.0 erstellen. Sie erstellen einen Hotfix-Zweig aus dem 1.0-Tag und implementieren den Fix dort. Aber was dann?
Normalerweise würden Sie zusammenführen, um ein 1.1-Release-Tag zu erstellen. Sie können 1.1 jedoch nicht bis zu einem Punkt nach 2.0 auf dem Master zusammenführen.
Ich denke, Sie könnten das Release-Tag in den Hotfix-Zweig einfügen, aber das würde einen permanenten Zweig neben dem Master erstellen, der ein Release-Tag enthalten würde. Ist das der richtige Weg?
Antworten:
Es scheint, dass es ein Konzept für einen "Support" -Zweig im Git-Flow gibt. Dies wird verwendet, um einer früheren Version einen Hotfix hinzuzufügen.
Dieser Thread enthält weitere Informationen mit den folgenden Beispielen:
... machen Sie Ihre Lösung, dann:
oder mit
git flow
Befehlen... dann Änderungen vornehmen:
quelle
Interessante Frage! Der von Ihnen verknüpfte Ablauf setzt voraus, dass der Master die Produktion verfolgen kann. Das funktioniert nur, wenn die Produktionsversionen streng steigen. Dies gilt normalerweise für eine Website mit nur einer Produktionsversion.
Wenn Sie mehrere Produktionsversionen verwalten müssen, reicht ein Zweig zur Verfolgung der Produktion nicht aus. Eine Lösung besteht nicht darin, Master zur Verfolgung der Produktion zu verwenden. Verwenden Sie stattdessen Branchen wie
release1
,release2
usw.Bei diesem Ansatz benötigen Sie möglicherweise nicht einmal einen Hotfix-Zweig. Sie können das Problem in der
release1
Verzweigung beheben . Wenn das Update gut genug ist, erstellen Sie einrelease1.1
Tag imrelease1
Zweig.quelle
git-flow
Werkzeug ist nicht geeignet, wenn Sie mehrere Produktionsversionen unterstützen müssen. In dem in dieser Antwort vorgeschlagenen Workflow wird der Master überhaupt nicht verwendet. Sie könnten den Entwicklungszweig-Master benennen, es ist schließlich nur ein Name.git-flow geht davon aus, dass Sie jeweils nur eine Release-Linie unterstützen, die vom Master bequem verfolgt wird. Wenn Sie mehr als 1 verwalten, müssen Sie den Git-Flow-Prozess so ändern, dass mehrere Tracker Ihrer separaten Releases vorhanden sind, die Sie unterstützen (Master-1, Master-2). Sie können weiterhin Master verwenden, um die neueste Release-Zeile zu verfolgen, zusätzlich zu oder anstelle eines bestimmten Trackers für die neueste Release-Zeile (Master anstelle von Master-2).
Leider müssen alle Git-Flow-Tools, die Sie möglicherweise verwenden, wahrscheinlich geändert werden, aber hoffentlich sind Sie mit dem Git-Flow-Prozess vertraut genug, um diesen speziellen Fall direkt mit Git-Befehlen zu behandeln.
quelle
git flow
Prozess ändern , ist dies etwas anderes. Wenn ein Modell repariert (nicht nur erweitert) werden soll, ist es so erfolgreich, wie es der Autor angibt. Bitte lesen Sie meine Antwort auf das Thema, das wir diskutieren.git config --add gitflow.multi-hotfix true Dieser Befehl scheint für mich zu funktionieren!
quelle