Ich arbeite an einem Git-Workflow, der in einem kleinen Team implementiert werden soll. Die Kernideen im Workflow:
- Es gibt einen gemeinsamen Projektmaster, an den alle Teammitglieder schreiben können
- Die gesamte Entwicklung erfolgt ausschließlich in Feature-Zweigen
- Feature-Zweige werden von einem anderen Teammitglied als dem Zweigautor überprüft
- Der Feature-Zweig wird schließlich mit dem gemeinsam genutzten Master zusammengeführt und der Zyklus beginnt erneut
Der Artikel erklärt die Schritte in diesem Zyklus im Detail:
https://github.com/janosgyerik/git-workflows-book/blob/small-team-workflow/chapter05.md
Ist das sinnvoll oder fehlt mir etwas?
Ich denke, Ihnen fehlt das Thema Kontinuierliche Integration. Es sollte Teil jedes Entwicklungs-Setups sein.
Bei Feature-Zweigen haben Sie das Problem, dass Sie nicht kontinuierlich integrieren, sondern erst, nachdem ein Feature abgeschlossen wurde.
Wenn das verzweigte Feature nur von kurzer Dauer ist, ist dies möglicherweise akzeptabel, aber es ist definitiv etwas, das man berücksichtigen sollte.
Eine andere Alternative besteht darin, CI-Builds für jeden Feature-Zweig einzurichten. Das hilft zwar, ist aber keine Integration. Dies wird offensichtlich, sobald Sie Ihren ersten Fehler finden, der weder in Feature A noch in Feature B auftritt, sondern in dem Moment, in dem Sie Feature A & B integrieren
Eine dritte Alternative besteht darin, das Zusammenführen in einem Integrationszweig zu einem Teil des CI-Builds zu machen. Dies ist eine echte Integration und funktioniert mit Git ziemlich gut, wenn die Arbeit etwas getrennt ist, führt jedoch zu Zusammenführungskonflikten während des Builds, die zu fehlgeschlagenen Builds führen.
quelle
Sie können sich zu Gitflow oder Twgit inspirieren lassen .
gitflow fasst seinen Ansatz wie folgt zusammen:
Twgit beschreibt sich wie folgt:
Beide Werkzeuge sind bei github erhältlich .
quelle