Das Modell
Trunk-based Development (TBD) halt einen einzelnen lang lebenden Branch und integriert alles haufig.
Zwei Varianten
- Pure TBD.
- Kurzlebige Branches.
Warum TBD funktioniert
- Konflikte tauchen taglich auf.
- Trunk ist immer release-fahig.
- Keine "Big Bang"-Merges.
- Continuous Integration wird buchstablich.
Die Herausforderung: unvollstandige Features
- Feature Flags.
- Branch by abstraction.
- Keystone interfaces.
Ein typischer Tag
git checkout main
git pull --rebase
git checkout -b quick-fix
git rebase main
git push -u origin quick-fix
git checkout main
git pull --rebase
git branch -d quick-fix
Erforderliche Leitplanken
- Schnelle Tests.
- Pre-Merge-Checks.
- Automatisierter Rollback.
Releases
git tag -a v1.4.0 -m "Release 1.4.0"
git push origin v1.4.0
Kulturelle Komponente
TBD ist ebenso Kultur wie Workflow.