Git-Workflows
Wie Teams Branches, Reviews und Releases organisieren. Jeder Workflow unten kommt mit seinen Regeln, wie seine Originalquelle sie formuliert, wann er passt, und einem animierten Durchlauf – ausgeführt vom Git-Simulator und mit echtem Git geprüft.
| Workflow | Langlebige Branches | So wird released | Passt am besten zu |
|---|---|---|---|
| main | main nach jedem gemergten Pull Request deployen | Apps mit Continuous Deployment | |
| main, develop | Release-Branches, auf main getaggt | Versionierte Software, mehrere unterstützte Versionen | |
| main (the trunk) | Aus dem Trunk oder einem kurzlebigen Release-Branch | CI/CD-Teams, die täglich integrieren | |
| upstream’s main | Maintainer mergen Pull Requests aus Forks | Open Source, Beitragende ohne Schreibrechte |
GitHub flow
Ein main-Branch + kurzlebige Branches + Pull Requests
Ein schlanker, Branch-basierter Workflow. Alles in main ist deploybar; jede Änderung entsteht auf einem eigenen, aussagekräftig benannten Branch und wird über einen geprüften Pull Request in main gemergt und dann deployt.
Die Regeln
- Alles im main-Branch ist deploybar.
- Lege für jede Änderung einen aussagekräftig benannten Branch von main an.
- Committe lokal und pushe regelmäßig auf den gleichnamigen Branch.
- Öffne einen Pull Request für Feedback oder wenn der Branch bereit zum Mergen ist.
- Nach dem Review in main mergen und den Branch löschen.
- Deploye, sobald gemergt ist (im Originalbeitrag: „du kannst und solltest sofort deployen“).
✓ Nutze ihn, wenn
Web-Apps und Dienste, die kontinuierlich aus einer einzigen Version deployt werden.
✗ Vermeide ihn, wenn
Du musst mehrere veröffentlichte Versionen parallel pflegen.
Quellen
Öffnen und Mergen des Pull Requests passieren auf GitHub; der Durchlauf zeigt die entsprechenden Git-Operationen (GitHubs Standard-Merge-Button erzeugt einen Merge-Commit).
Richte den Workflow ein und geh ihn einmal durch.
1 Einen Branch anlegen
2 Änderungen machen
3 Einen Pull Request erstellen
4 Review-Kommentare umsetzen
5 Deinen Pull Request mergen
6 Deinen Branch löschen