Wir verwenden ein erfolgreiches Git-Verzweigungsmodell von Vincent Driessen für unsere Verzweigung Modell. Alles in Ordnung, aber ich habe nicht wirklich ein bestimmtes Problem angesprochen.
Soweit ich es verstanden habe, wenn eine neue Funktion benötigt wird, verzweigen Sie den development
und erstellen einen neuen feature
Zweig. Sie würden daran arbeiten, und wenn Sie fertig sind, würden Sie diesen Zweig in den Zweig development
zusammenführen.
Was passiert, wenn ein Entwickler ein Feature erstellt und dieses Feature dann wieder mit development
zusammenführt, um herauszufinden, dass der Feature-Code einige Fehler enthält? Wo sollte das repariert werden? Soll ein neuer fix
/ bugfix
Zweig von der Entwicklung gestartet und der Code dort festgelegt werden? Ich kann keinen anderen Weg sehen.
Wie soll man das machen?
Danke
Denken Sie daran, dass ein Modell nur ein Modell ist - es geht darum, Ihnen eine Struktur zu geben, die Sie effizienter macht, nicht blind einer Reihe von Regeln zu folgen. Das bedeutet, dass Sie sich frei fühlen sollten, Dinge zu optimieren und herauszufinden, was in Ihrer Situation funktioniert, weil es möglicherweise nicht in jeder Situation funktioniert.
Ich denke, Sie haben eine Wahl in dieser Situation:
Welche Sie wählen, hängt von Faktoren ab wie:
Der Unterschied zwischen einem Feature-Zweig und einem Bugfix-Zweig ist aus der Sicht von Git nicht wichtig. Es spielt nur eine Rolle, ob Sie diese Labels für die interne Dokumentation oder andere Überwachungszwecke verwenden (z. B. um zu verfolgen, was für externe Benutzer sichtbar ist).
Widerstehen Sie der Versuchung, direkt vom Entwicklungszweig zu arbeiten, auch wenn Sie denken, dass der Bugfix sehr schnell sein wird - nichts ist so einfach wie es scheint, und Sie werden sich später Kopfschmerzen zufügen, wenn etwas schief geht.
>Grobe visuelle Darstellung Ihrer Auswahl:
Wie wäre es mit das Commit zu finden, das den Bug einführte, und einen neuen Zweig gründen, der dort verwurzelt ist ? Mit diesem Ansatz:
Wenn es sich bei diesem Feature-Zweig um einen öffentlichen Zweig handelt (d. h. an einen Remote-Repo, der geklont / von anderen verwendet wird), ist es am besten, einen neuen Zweig zu erstellen und das Debug in diesem Fix-Zweig zu isolieren
(Anstatt zu versuchen, den Zweig ' feature
' auf den Zweig ' develop
' neu zu setzen).
Die Idee bleibt, Zwischen-Debug-Commits nicht direkt in develop
branch aufzunehmen, sondern nur den resultierenden Commit aufzuzeichnen, der den von feature
branch merge angestoßenen Fehler an erster Stelle beheben wird.
Machen Sie einfach eine Verzweigung (oder verwenden Sie den alten, zusammengeführten Zweig feature
) und reparieren Sie ihn dort.
Die alte Verzweigung / neue Verzweigung verwenden ist genau das gleiche - Sie können nicht angeben, welche Datei nach dem Zusammenführen angezeigt wird.
Tags und Links git git-branch branching-and-merging feature-branch