adminslog/dokus/git/git_workflow.md
2025-07-20 01:08:19 +00:00

6.8 KiB
Raw Blame History

Git Workflow

Git Logo

📝 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, dann merge.

💡 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  

🚀 TOP


📦 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

🚀 TOP


📦 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 oder master ist unser stabiler Produktionszweig.