
Ein gutesGit-Verzweigungsstrategieist es, was chaotische Codebasen von reibungslos funktionierenden Engineering-Teams unterscheidet. Im Jahr 2026 dominieren drei Strategien: Git Flow für versionierte Releases, GitHub Flow für kontinuierliche Bereitstellung und Trunk-Based Development für hochfrequente Bereitstellungen. In diesem Leitfaden werden die einzelnen Szenarien anhand realer Teamszenarien erläutert.
📋 Table of Contents
GitHub Flow (für die meisten Teams empfohlen)
Einfach, effektiv für die kontinuierliche Bereitstellung. Ein Hauptzweig, kurzlebige Feature-Zweige. Zusammenführung über Pull-Requests nach Codeüberprüfung.
# 1. Create feature branch from main
git checkout main && git pull
git checkout -b feature/user-authentication
# 2. Commit changes
git add -p # stage selectively
git commit -m 'feat: add JWT authentication middleware'
# 3. Push and open PR
git push -u origin feature/user-authentication
# Open PR on GitHub -> review -> merge
# 4. Delete branch after merge
git branch -d feature/user-authentication
Git Flow (für versionierte Software)
Zwei Hauptzweige:main(Produktion) unddevelop(Integration). Release-Zweige, Hotfix-Zweige und Feature-Zweige. Gut für Apps mit geplanten Veröffentlichungen.
# Main branches
# main — production code (tagged releases)
# develop — integration branch
# Start feature
git checkout develop
git checkout -b feature/payment-gateway
# ... commit changes ...
git checkout develop
git merge --no-ff feature/payment-gateway
git branch -d feature/payment-gateway
# Prepare release
git checkout -b release/2.1.0 develop
# ... bump version, changelog ...
git checkout main && git merge --no-ff release/2.1.0
git tag -a v2.1.0 -m 'Release 2.1.0'
git checkout develop && git merge --no-ff release/2.1.0
# Hotfix (from main)
git checkout -b hotfix/security-patch main
# ... fix ...
git checkout main && git merge --no-ff hotfix/security-patch
git tag -a v2.1.1 -m 'Security hotfix'
git checkout develop && git merge --no-ff hotfix/security-patch
Trunk-basierte Entwicklung (für Hochfrequenzbereitstellungen)
Jeder verpflichtet sich zumain(den Kofferraum) mindestens täglich. Feature-Flags verbergen unvollständige Arbeiten. Wird von Google, Facebook und Netflix für mehr als 100 Bereitstellungen pro Tag verwendet.
# Short-lived branches (less than 1 day)
git checkout -b fix/null-pointer-api
git commit -m 'fix: handle null user in API response'
git checkout main
git merge fix/null-pointer-api # merged within hours
# Feature flag pattern for incomplete work
# Code ships to main but feature is off by default
# Turn on per user, per region, per % of traffic
Commit-Nachrichtenkonvention
Herkömmliche Commits machen Änderungsprotokolle automatisch und CI intelligenter.
# Format: <type>(<scope>): <description>
git commit -m 'feat(auth): add OAuth2 Google login'
git commit -m 'fix(api): return 404 when user not found'
git commit -m 'docs(readme): update installation steps'
git commit -m 'chore(deps): bump fastapi to 0.115'
git commit -m 'refactor(db): extract query builder to service'
git commit -m 'test(auth): add integration tests for login flow'
# BREAKING CHANGE:
git commit -m 'feat(api)!: rename /users to /accounts'
# The ! signals breaking change, auto-bumps major version
Nützliche Git-Befehle für Teams
# Clean local merged branches
git branch --merged main | grep -v main | xargs git branch -d
# Interactive rebase (clean up commits before PR)
git rebase -i HEAD~3
# Stash work in progress
git stash push -m 'WIP: login form'
git stash pop
# Cherry-pick specific commit to another branch
git cherry-pick abc1234
# See who changed what line
git blame -L 50,60 src/auth.py
Welche Strategie verwenden?
- GitHub-Flow:Startups, SaaS, kontinuierliche Bereitstellung
- Git-Flow:Mobile Apps, versionierte APIs, Unternehmenssoftware
- Trunk-basiert:Ausgereifte Teams mit starker Testabdeckung und Feature-Flags
Fazit
Für die meisten Teams im Jahr 2026 ist GitHub Flow die richtige Wahl – einfach, schnell und CI-freundlich. Übernehmen Sie vom ersten Tag an konventionelle Commits und Ihre Änderungsprotokolle, semantische Versionierung und Release-Automatisierung werden nahezu mühelos.
🔗 Share this article
✍️ Leave a Comment