Ich benutze es für wichtige Website-Wartung. Ich bin der einzige Entwickler, aber ich habe einen Meister, entwickle und stelle Zweige aus.
Mein Arbeitsprozess für die Site-Einrichtung sieht folgendermaßen aus:
Mach den Master-Zweig funktionsfähig. Erstes Commit durchführen.
Kasse entwickeln Zweig. Tun Sie nichts, entwickeln Sie Funktionen als Testpuffer für das Zusammenführen mit dem Master.
Checkout Issue Branch. Codieren Sie Ihr Problem, wenn es fertig ist, ziehen Sie es in die Entwicklung, prüfen Sie, ob Probleme auftreten, führen Sie Konflikte zusammen usw. ... beheben Sie diese.
Wenn genügend Probleme für eine Veröffentlichung in "Develop" zusammengeführt wurden und "Develop" auf Stabilität getestet wurde, ziehen Sie "Develop" in "Master".
Master
|
Develop - E
/ | \ \
A B C D
Auf diese Weise erhalten Sie eine vollständige Testsammlung in Develop, in der Sie Stabilität, Probleme usw. testen können, ohne das Risiko einzugehen, den Master zu verletzen, und Commits zurückzusetzen, wenn sie schädlich sind.
Indem Sie einzelne Filialen für das Festschreiben verwenden, können Sie die bereits geleistete Arbeit "verlassen", mit etwas anderem neu beginnen, um ein dringenderes Problem zu beheben, und das Problem früher ausrollen.
Im wirklichen Leben habe ich normalerweise einen Ausgabezweig und ziehe diesen in Entwicklung und dann in Master. Manchmal ist es langweilig, aber mindestens alle zwei Monate muss ich die Arbeit auf den Kopf stellen, weil jemand die Idee hatte, dass ich RightNow ™ machen muss, und auf diese Weise kann ich schnell wieder in einen Grundzustand zurückkehren, um das Ding zu machen und dann weiter wo ich war. Gerade bei großen Projekten, die mehrere Wochen dauern, ist dies ein Glücksfall, dass ich schnell die Filiale wechseln kann.
Betrachten Sie dieses Szenario: Sie immer auf einem Hauptzweig arbeiten , und Sie haben AwesomeCodeThing ™ in den Werken , die Ihre Master - Zweig - Blätter in einer offenen Herzoperation und ein YugeBug ™ erscheint , dass dringende Fixierung benötigt sonst Tausende von Benutzern werden Ihnen beschweren sich über BigProblems ™
Der Nur so können Sie Ihr Problem in einem solchen Szenario schnell lösen.
- Überprüfen Sie Ihre bisherigen Commits.
- Sehen Sie, wann Ihre letzte stabile Festschreibung war (Fluchen ist optional).
- Rollback zu diesem Commit
- Fix machen, Fix raus in die Produktion schieben
- Löse alle Konflikte und Probleme, die du jetzt hast und versuchst, zum AwesomeCodeThing ™ -Status zurückzukehren
- aufgeben, weinen und von vorne anfangen (optional)
Wenn Sie Zweige verwenden:
- Checkout-Master
- erstelle einen Zweig UrgentFix ™ und repariere Sachen
- Ziehen Sie UrgentFix ™ in den Master
- zur Produktion drängen
- Master in Develop zusammenführen
- Zusammenführen und zu AwesomeCodeThing ™ entwickeln
- hol ein bier und arbeite weiter.