Dieser Artikel klingt interessant, aber ich bin mir ziemlich sicher, dass die Diagramme falsch sind. http://guides.beanstalkapp.com/version-control/branching-best-practices.html
Sollte es nicht sein DEVELOPMENT
> STAGING
> PRODUCTION
?
Zusammenführungen sollten nur in eine Richtung erfolgen: von Funktionen und Fehlerkorrekturen, die in ihrem eigenen Zweig oder in der Entwicklung durchgeführt wurden, bis hin zu Staging zum Testen. Nach dem Testen können Sie diese Änderungen von der Entwicklung bis zur Produktion zusammenführen.
Hier bin ich etwas verwirrt. Also füge ich Staging zu Master oder Master zu Staging zusammen?
Ich verwende einen Client namens SmartGit und bin über diesen Punkt verwirrt. Normalerweise erstelle ich einen Zweig für ein Feature, verpflichte mich dazu, wechsle dann zum Master und füge ihn zum Zweig zusammen (vorwärts). In diesem neuen Workflow mit Staging und Produktion erstelle ich diese beiden zusätzlichen Zweige und erstelle dann einen Zweig vom Master (auch bekannt als dev) für meine Funktion. Festschreiben, dann zu Staging wechseln und zu meinem Feature-Zweig zusammenführen (weiterleiten)? Klingt das richtig?
Was dies so verwirrend gemacht hat, ist, dass die Beanstalk-Leute hinter ihrer sehr ungewöhnlichen Verwendung von Staging stehen (dies kommt vor der Entwicklung in ihrem Diagramm und ist kein Fehler! Https://twitter.com/Beanstalkapp/status/306129447885631488)
Habe beschlossen, Beanstalk zu vergessen und einfach mit Github zu gehen.
Seit ich dies gepostet habe, haben die Beanstalk-Leute meinen Hinweis befolgt und ihre Stufen umbenannt und nennen die Entwicklung nun "Stabil".
Antworten:
Der Denkprozess hier ist, dass Sie die meiste Zeit in verbringen
development
. Während der Entwicklung erstellen Sie einenfeature
Zweig (ausdevelopment
), vervollständigen das Feature und führen ihn wieder zusammendevelopment
. Dies kann dann durch Zusammenführen in zur endgültigen Produktionsversion hinzugefügt werdenproduction
.Weitere Informationen zu diesem Ansatz finden Sie unter Ein erfolgreiches Git-Verzweigungsmodell .
quelle
development
inproduction
oderfeature
inproduction
?Wir machen es anders. IMHO machen wir es einfacher: in arbeiten
master
wir an der nächsten Hauptversion.Jedes größere Feature erhält einen eigenen Zweig (abgeleitet vom Master) und wird vom Entwickler regelmäßig auf dem Master neu basiert (+ Force Push). Das Wiederherstellen funktioniert nur, wenn ein einzelner Entwickler mit dieser Funktion arbeitet. Wenn die Funktion beendet ist, wird sie neu auf den Master übertragen und der Master wird dann schnell zum neuesten Feature-Commit weitergeleitet.
Um das erneute Basieren / erzwungene Drücken zu vermeiden, können Master-Änderungen auch regelmäßig mit dem Feature-Zweig zusammengeführt werden. Wenn der Vorgang abgeschlossen ist, wird der Feature-Zweig mit dem Master zusammengeführt (normale Zusammenführung oder Squash-Zusammenführung). Aber meiner Meinung nach macht dies den Feature-Zweig weniger klar und macht es viel schwieriger, die Commits neu zu ordnen / bereinigen.
Wenn eine neue Version kommt, erstellen wir einen Nebenzweig aus dem Master, z. B.
release-5
wo nur Fehler behoben werden.quelle
Was dies so verwirrend gemacht hat, ist, dass die Beanstalk-Leute hinter ihrer sehr ungewöhnlichen Verwendung von Staging stehen (es kommt vor der Entwicklung in ihrem Diagramm und es ist kein Fehler!
https://twitter.com/Beanstalkapp/status/306129447885631488
quelle
Eines der besten Dinge an Git ist, dass Sie den für Sie am besten geeigneten Arbeitsablauf ändern können. Ich verwende jedoch meistens http://nvie.com/posts/a-successful-git-branching-model/ Sie können jeden Workflow verwenden, der Ihren Anforderungen entspricht
quelle