From 78d8ab11eda05e88a1539b9fcc754e1b9a6a480d Mon Sep 17 00:00:00 2001 From: Lars Date: Sun, 7 Dec 2025 19:09:03 +0100 Subject: [PATCH] docs/dev_workflow.md aktualisiert --- docs/dev_workflow.md | 47 +++++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/docs/dev_workflow.md b/docs/dev_workflow.md index ddc4f48..01af4c8 100644 --- a/docs/dev_workflow.md +++ b/docs/dev_workflow.md @@ -1,6 +1,6 @@ # Mindnet v2.2 – Entwickler-Workflow **Datei:** `DEV_WORKFLOW.md` -**Stand:** 2025-12-07 (Aktualisiert nach WP-04b) +**Stand:** 2025-12-07 (Aktualisiert: Sync-First Strategie) Dieses Handbuch beschreibt den Entwicklungszyklus zwischen **Windows PC** (IDE), **Raspberry Pi** (Gitea) und **Beelink** (Runtime/Server). @@ -22,12 +22,14 @@ Dieses Handbuch beschreibt den Entwicklungszyklus zwischen **Windows PC** (IDE), Hier erstellst du die neue Funktion in einer sicheren Umgebung. -1. **Sicherstellen, dass Git bereit ist:** - * Öffne VS Code. - * Unten links in der blauen Leiste sollte der aktuelle Branch stehen (z.B. `main`). +1. **Basis aktualisieren (WICHTIG!):** + Bevor du startest, muss dein lokales `main` auf dem Stand des Servers sein. + * Klicke unten links auf den aktuellen Branch und wähle **`main`**. + * Klicke links im Menü "Source Control" auf die **drei Punkte (...)** -> **Pull** (oder das Synchronisieren-Symbol). + * *Erst jetzt hast du alle Dateien!* -2. **Branch erstellen (WICHTIG):** - * Klicke unten links auf den Branch-Namen. +2. **Branch erstellen:** + * Klicke wieder unten links auf `main`. * Wähle `+ Create new branch...`. * Gib den Namen ein: `feature/was-ich-tue` (z.B. `feature/wp04b-explanation`). * Drücke **Enter**. @@ -69,9 +71,9 @@ Hier prüfst du, ob dein neuer Code auf dem echten Server läuft. ``` 5. **Test-Server neustarten (WICHTIG):** - Falls noch ein alter Prozess läuft, musst du ihn beenden, damit der neue Code geladen wird. + Falls noch ein alter Prozess läuft, musst du ihn beenden. * Drücke `Strg + C` falls der Server noch im Vordergrund läuft. - * Oder nutze `pkill -f "uvicorn app.main:app"` um Hintergrunde-Prozesse zu stoppen. + * Oder nutze `pkill -f "uvicorn app.main:app"`. Starten auf **Port 8002**: ```bash @@ -127,6 +129,7 @@ Damit das Chaos nicht wächst, löschen wir den fertigen Branch. ``` 3. **VS Code:** * Auf `main` wechseln. + * Sync drücken (um Löschung vom Server zu erfahren). * `F1` -> `Git: Delete Branch` -> Branch auswählen. --- @@ -135,23 +138,23 @@ Damit das Chaos nicht wächst, löschen wir den fertigen Branch. | Wo? | Befehl | Was tut es? | | :--- | :--- | :--- | -| **VS Code** | `Klick auf Branch-Namen` | Branch erstellen oder wechseln. | -| **VS Code** | `Sync Changes` | Lädt Code zu Gitea hoch. | -| **Beelink** | `cd ~/mindnet_dev` | Gehe in den Test-Ordner. | +| **VS Code** | `Sync (auf main)` | **WICHTIG:** Holt neuesten Code vom Server. | +| **VS Code** | `Klick auf Branch` | Branch erstellen oder wechseln. | | **Beelink** | `source .venv/bin/activate` | **Aktiviert Python-Umgebung.** | -| **Beelink** | `git fetch` | Aktualisiert die Liste der Remote-Branches. | -| **Beelink** | `git branch -r` | Zeigt alle Branches auf dem Server an. | -| **Beelink** | `git checkout ` | Wechsle auf einen anderen Branch. | +| **Beelink** | `git fetch` | Aktualisiert Remote-Branches. | +| **Beelink** | `git checkout ` | Wechsle Branch. | +| **Beelink** | `git pull` | Aktualisiere aktuellen Branch. | | **Beelink** | `uvicorn ... --port 8002` | Startet Test-Server (Dev). | --- -## 4. Sicherheitsregeln +## 4. Troubleshooting -1. **Niemals** in `~/mindnet` (Prod-Ordner) experimentieren. Dieser Ordner bleibt immer auf `main`. -2. **Niemals** beide Umgebungen auf denselben `COLLECTION_PREFIX` zeigen lassen. - * Prod `.env`: `COLLECTION_PREFIX="mindnet"` - * Dev `.env`: `COLLECTION_PREFIX="mindnet_dev"` -3. **Port-Disziplin:** - * **PROD:** Port 8001 - * **DEV:** Port 8002 \ No newline at end of file +**"Hilfe, in meinem neuen Branch fehlen Dateien!"** +Das passiert, wenn du beim Erstellen nicht aktuell warst. +* **Lösung:** + ```bash + # In VS Code Terminal: + git checkout feature/mein-kaputter-branch + git merge main + # (Das holt die fehlenden Dateien aus main nach) \ No newline at end of file