| name | switch-phase |
| description | Alle aktiven Phasen (Integration-Branches) anzeigen und zu einer anderen Phase wechseln. Behandelt uncommitted Changes sicher. |
| disable-model-invocation | true |
Phase wechseln
Dieser Befehl zeigt alle aktiven Phasen und wechselt zu einer anderen Phase.
Anweisungen
1. Aktuelle Situation ermitteln
FĂŒhre parallel aus:
git branch --show-current
git branch --list "integration/*"
git branch -r --list "origin/integration/*"
git status --porcelain
Daraus ermitteln:
- Aktueller Branch (Feature-Branch, Integration-Branch oder main)
- Aktuelle Phase (aus Branch-Name ableiten)
- Alle lokalen Integration-Branches
- Alle remote Integration-Branches (die lokal noch nicht existieren)
- Uncommitted Changes (staged, unstaged, untracked)
2. Aktive Phasen anzeigen
Lies docs/implementation/README.md und zeige eine Ăbersicht:
Aktuelle Phase: Phase 3 (Animation-Integration)
Branch: feat/state-animation-triggers â integration/phase-3-animation-integration
Aktive Phasen:
â Phase 3: Animation-Integration â aktuell
Branch: integration/phase-3-animation-integration
Fortschritt: 2/4 Schritte
â Phase 10: CC Core Data Model & Catalogs
Branch: integration/phase-10-cc-data-model
Fortschritt: 3/6 Schritte
â main (kein Phase-Branch)
Markiere die aktuelle Phase mit â, andere mit â.
3. Uncommitted Changes behandeln
Falls uncommitted Changes vorhanden sind, frage den User:
- Stash â
git stash push -m "WIP: <aktueller-branch>"
- Commit â Normaler Commit-Flow
- Abbrechen â Wechsel nicht durchfĂŒhren
WICHTIG: Niemals uncommitted Changes stillschweigend verwerfen!
4. Ziel-Phase wÀhlen
Falls nur eine andere Phase aktiv ist â direkt anbieten.
Falls mehrere â User wĂ€hlen lassen.
Option main immer anbieten.
5. Branch wechseln
git checkout integration/phase-X-beschreibung
Falls der Branch nur remote existiert:
git checkout -b integration/phase-X-beschreibung origin/integration/phase-X-beschreibung
Nach dem Wechsel:
git pull origin integration/phase-X-beschreibung
6. Fortschritt der Ziel-Phase anzeigen
Nach dem Wechsel:
- Phase-Name und Epic
- Fortschritt (X/Y Schritte abgeschlossen)
- NĂ€chster offener Schritt
- Ob ein Feature-Branch fĂŒr diese Phase existiert, der fortgesetzt werden kann
PrĂŒfe ob ein Feature-Branch fĂŒr diese Phase existiert:
git branch --list | grep -v "integration/"
Falls ja:
Offener Feature-Branch gefunden: feat/cc-equipment-types
Soll dieser fortgesetzt werden? (Dann: git checkout feat/cc-equipment-types)
Beispiel-Ausgaben
Beispiel 1: Einfacher Wechsel
/switch-phase
Aktuelle Phase: Phase 3 (Animation-Integration)
Branch: feat/state-animation-triggers
Aktive Phasen:
â Phase 3: Animation-Integration (2/4) â aktuell
â Phase 10: CC Core Data Model (3/6)
Zu welcher Phase wechseln?
â Phase 10: CC Core Data Model
â main
User: Phase 10
Uncommitted Changes gefunden (2 Dateien geÀndert).
â Stash (empfohlen)
â Commit
â Abbrechen
User: Stash
â git stash push -m "WIP: feat/state-animation-triggers"
â git checkout integration/phase-10-cc-data-model
â git pull
Phase 10: CC Core Data Model & Catalogs
Epic: Character Creator & AusrĂŒstung
Fortschritt: 3/6 Schritte abgeschlossen
NĂ€chster Schritt: 10.4 ScriptableObject-Kataloge
Offener Feature-Branch: feat/cc-catalogs
â Fortsetzen mit: git checkout feat/cc-catalogs
Beispiel 2: Keine anderen Phasen aktiv
/switch-phase
Aktuelle Phase: Phase 3 (Animation-Integration)
Branch: integration/phase-3-animation-integration
Keine anderen Integration-Branches gefunden.
Mögliche Aktionen:
â Zu main wechseln
â Neue Phase starten (siehe /impl-next)
Beispiel 3: Von main zu Phase
/switch-phase
Aktueller Branch: main
Aktive Phasen:
â Phase 3: Animation-Integration (2/4)
â Phase 10: CC Core Data Model (3/6)
Zu welcher Phase wechseln?
User: Phase 3
â git checkout integration/phase-3-animation-integration
â git pull
Phase 3: Animation-Integration
Fortschritt: 2/4 Schritte
NĂ€chster Schritt: 3.3 Player Prefab zusammenbauen
Hinweise
- Der Befehl wechselt immer zum Integration-Branch der Phase, nicht zu einem Feature-Branch
- Feature-Branches werden nach dem Wechsel als Option angezeigt, falls vorhanden
git stash EintrÀge können mit git stash list angezeigt und mit git stash pop wiederhergestellt werden
- Falls ein Stash fĂŒr den Ziel-Branch existiert, darauf hinweisen