6.8 KiB
6.8 KiB
Git Workflow
📝 Inhalt
📦 Workflow
Tägliche Arbeit mit Git
✏️ Neues Feature starten
git checkout main
git pull
git checkout -b feature/mein-feature
➔ Jetzt bist du auf einem neuen Branch. Alles was du änderst, bleibt NUR hier.
💾 Arbeiten und Zwischenspeichern
git add .
git commit -m "WIP: Kurze Beschreibung meiner Arbeit"
WIP
= Work in Progress- Lieber öfter kleine Commits als einen Monster-Commit.
🔄 Zwischenstand von main holen (wenn andere auch pushen)
git pull origin main
- Wichtig: Nur im Feature-Branch bleiben!
git pull
sorgt dafür, dass du aktuellen Code hast.
✅ Feature fertig? Merge in main
git checkout main
git pull
git merge feature/mein-feature
git push
- Danach kannst du den Branch löschen:
git branch -d feature/mein-feature
❌ Oops! Auf main gearbeitet?
Noch kein Commit gemacht?
git checkout -b feature/schnell-gerettet
➔ Änderungen wandern automatisch mit.
main
bleibt sauber.
✅ Git-Regeln für sauberes Arbeiten
- Niemals direkt auf
main
coden. - Immer neuen Branch für neue Aufgaben.
- Vor dem
git pull
immer committen oder stashen. - Viele kleine Commits sind besser als ein riesiger.
- Beim Merge zuerst
git pull
, dannmerge
.
💡 Git Merksätze
Situation | Lösung |
---|---|
Änderungen da, noch kein Commit | git checkout -b neuer-branch |
Änderungen gestaged, aber kein Commit | Geht genauso: git checkout -b neuer-branch |
Änderungen gemacht, will aber neuen Stand von origin | Erst commit oder stash , dann pull |
Feature abgeschlossen | merge zurück auf main |
ℹ️ Mini-Cheatsheet
git add . # Alle Änderungen vormerken
git commit -m "Commit" # Änderungen sichern
git checkout main # Wechsel auf main
git pull # main aktualisieren
git checkout -b neuer-branch # Neuen Feature-Branch starten
📦 GIT_BRANCH_CLEANUP.md
🧹 Wann lösche ich einen Feature-Branch?
✅ Nach dem Merge in main
# Lokal löschen
git branch -d feature/xyz
# Remote löschen
git push origin --delete feature/xyz
❗ Nicht löschen, wenn …
- Der Branch wird noch gebraucht (z. B. Review, Bugfix)
- Der Merge war nur testweise oder unvollständig
- Du arbeitest noch weiter dran
🔁 Nachträglich löschen (wenn vergessen)
# Lokalen Branch löschen
git branch -d feature/xyz
# Remote-Branch löschen
git push origin --delete feature/xyz
📦 Merksatz
Feature fertig und gemerged? | Dann: |
---|---|
✅ | git branch -d + git push origin --delete |
❌ oder nicht sicher | Branch behalten |
📦 Branch-Namenskonventionen
Dieses Dokument beschreibt die standardisierten Branch-Namenskonventionen für unser Projekt. Ziel ist eine klare, nachvollziehbare Struktur für parallele Entwicklungszweige.
🔧 Aufbau
Alle Branch-Namen folgen diesem Schema:
<prefix>/<bereich>-<kurze-beschreibung>
Beispiel:
feature/user-login
refactor/frontend-structure
chore/update-readme
Optional mit Ticket- oder Issue-ID:
feature/123-user-login
bugfix/87-fix-auth-header
📚 Übersicht der Präfixe
Präfix | Zweck | Beispiel |
---|---|---|
feature/ |
Neue Funktionen / Erweiterungen | feature/pdf-export |
bugfix/ |
Fehlerbehebung (nicht kritisch) | bugfix/button-hover |
hotfix/ |
Kritische Fehlerbehebung auf produktivem System | hotfix/payment-error |
refactor/ |
Code-Umbau ohne Funktionsänderung | refactor/state-management |
chore/ |
Wartung, Infrastruktur, Dokumentation | chore/clean-docker , chore/update-doc |
cleanup/ |
Entfernen von Altlasten oder veralteten Strukturen | cleanup/unused-scripts |
test/ |
Tests und Testinfrastruktur | test/mock-api |
docs/ |
Dokumentationsänderungen | docs/setup-instructions |
ci/ |
Änderungen an CI/CD oder Build-System | ci/add-github-actions |
wip/ |
Work in Progress (noch nicht bereit für Merge) | wip/experimental-ui |
release/ |
Vorbereitung und Verwaltung von Releases | release/v1.2.0 |
revert/ |
Rücknahme von früheren Änderungen | revert/broken-auth |
🧼 Empfehlung für Schönheitskorrekturen
Für reine Schönheits- und Strukturkorrekturen (keine funktionalen Änderungen):
refactor/ui-cleanup
chore/html-beautify
cleanup/unused-css
📝 Hinweis
- Branch-Namen immer klein schreiben, mit
-
als Trenner. - Kein Datum, kein Entwicklerkürzel im Namen (außer bei besonderen Teamregeln).
main
odermaster
ist unser stabiler Produktionszweig.