Trunk-Based Development (TBD) ist ein Branching-Modell, bei dem alle Entwickler kleine, häufige Änderungen in den Hauptzweig (Trunk, oft main oder master) integrieren. Langlebige Feature-Branches gibt es nicht: Entweder wird direkt auf den Trunk committet oder es werden sehr kurze Branches verwendet, die nach wenigen Stunden bis spätestens zwei Tagen wieder gemergt werden.

Das Prinzip

Der Begriff und die umfassende Praktiken-Sammlung stammen von Paul Hammant (ThoughtWorks), dokumentiert auf trunkbaseddevelopment.com. Verbreitet sind zwei Varianten: das direkte Commit auf den Trunk und das Arbeiten mit kurzen Feature-Branches, die per Pull Request und Code-Review – idealerweise innerhalb weniger Stunden – wieder integriert werden. Entscheidend ist, dass der Trunk zu jedem Zeitpunkt auslieferbar bleibt.

Unterstützende Praktiken

  • Ein Feature Flag erlaubt es, unfertige Funktionen bereits im Trunk zu halten und erst zur Freigabe zu aktivieren.
  • Kontinuierliche Integration prüft jeden Commit automatisch, siehe CI/CD.
  • Automatisierte Tests und kurze Review-Zyklen halten die Qualität auf dem Trunk.

Abgrenzung zu Git Flow

Das Gegenmodell ist Git Flow (Vincent Driessen, 2010) mit dauerhaften Branches für Entwicklung, Releases und Hotfixes. TBD ist einfacher, erzeugt weniger Merge-Konflikte und kürzere Feedbackschleifen; Google, Meta, Netflix und Microsoft arbeiten nach diesem Modell. Es setzt jedoch Disziplin, gute Testabdeckung und Werkzeuge wie ein Feature Flag voraus.

Verwandte Grundlagen: Versionierung, Git, Pipeline, Deployment.