📄 Optimale .gitignore für TYPO3 & Plesk

Kopiere diesen Inhalt in eine Datei namens .gitignore in deinem Projekt-Wurzelverzeichnis.

### --- Betriebssystem & IDEs ---
.DS_Store
Thumbs.db
.idea/
.vscode/
*.swp

### --- Composer & PHP ---
/vendor/
/composer.phar
.php-cs-fixer.cache
.phpunit.result.cache

### --- TYPO3 Kern & Laufzeit ---
# Ignoriere den kompletten var-Ordner (Caches, Logs, Sessions)
/var/

# Ignoriere temporäre Dateien
/public/typo3temp/

# Falls du TYPO3 im Composer-Modus nutzt, werden diese oft generiert:
/public/typo3/
/public/index.php

### --- User-Inhalte & Uploads (WICHTIG) ---
# Diese Ordner enthalten Bilder/Dateien, die im Backend hochgeladen werden.
# Sie dürfen NICHT im Git landen, sonst überschreibst du Live-Bilder mit leeren lokalen Ordnern.
/public/fileadmin/
/public/uploads/

### --- Konfiguration & Sicherheit ---
# Die .env enthält deine Datenbank-Passwörter. Diese sind auf jedem Server anders!
.env

# Alte Konfigurationsdateien (falls vorhanden)
/public/typo3conf/LocalConfiguration.php
/public/typo3conf/AdditionalConfiguration.php
/public/typo3conf/PackageStates.php

💡 Profi-Tipp: Leere Ordnerstrukturen erhalten

Da Git keine leeren Ordner trackt, aber TYPO3 beim ersten Start erwartet, dass z. B. public/fileadmin/ existiert, kannst du in diese Ordner eine versteckte Datei namens .gitkeep legen.

Aber Achtung: Damit die .gitkeep hochgeladen wird, die Bilder darin aber ignoriert werden, müsste deine .gitignore für diese speziellen Ordner so aussehen:

/public/fileadmin/*
!/public/fileadmin/.gitkeep

Wie kommen die Bilder von Staging nach Live?

Da wir die Bilder (fileadmin) über Git ignorieren (KISS!), hast du zwei Möglichkeiten für den Austausch von User-Content:

  1. Manueller Download/Upload: Über den Plesk Dateimanager oder FTP.
  2. Plesk Website-Kopie: Plesk bietet eine Funktion "Website kopieren", mit der du nur die Dateien (oder nur die Datenbank) von Staging nach Live schieben kannst. Das ist ideal, um einmal im Monat den Live-Content zurück auf Staging zu holen.

Haben wir damit alles für dein Setup abgedeckt, oder gibt es noch einen speziellen Punkt bei deinen TYPO3-Instanzen, der dir Kopfzerbrechen bereitet?