Zum Hauptinhalt springen

Theme-Updates ausrollen

Wenn am Haupt-Theme Änderungen vorgenommen wurden, können sie in alle laufenden Kundenprojekte eingespielt werden. Kundeneigene Dateien werden dabei nicht überschrieben.

Verfügbare Updates prüfen

Im Kundenprojekt-Verzeichnis:

cd stadtname-website
pnpm theme:status

Ausgabe zeigt ausstehende Commits aus dem Haupt-Theme:

abc1234 feat(header): neues responsives Menü
def5678 fix(blog): RSS-Feed Encoding-Fehler behoben

Keine Ausgabe bedeutet: bereits auf dem neuesten Stand.

Update einspielen

pnpm theme:update

Intern führt das git fetch upstream && git merge upstream/main --no-edit aus.

Folgende kundeneigene Dateien werden niemals überschrieben (via .gitattributes merge=ours):

  • src/consts.ts
  • src/content/**
  • public/images/**
  • public/admin/config.yml
  • src/styles/custom.css
  • src/components/custom/**

Lokal testen

pnpm install   # falls das Update neue Abhängigkeiten mitbringt
pnpm build # Build prüfen

Update deployen

git push origin main

Coolify löst automatisch einen neuen Build aus (dank Webhook).

Konflikt beim Update auflösen

Falls pnpm theme:update einen Konflikt meldet (nur bei Dateien, die nicht in .gitattributes stehen):

# Betroffene Datei anzeigen
git status

# Option A: Theme-Version übernehmen
git checkout --theirs src/layouts/Layout.astro
git add src/layouts/Layout.astro

# Option B: eigene Version behalten
git checkout --ours src/layouts/Layout.astro
git add src/layouts/Layout.astro

# Merge abschließen
git commit
git push