Skip to main navigation Skip to main content Skip to page footer
Git für TYPO3-Projekte: Warum Versionskontrolle auch für kleine Sites unverzichtbar ist

Git für TYPO3-Projekte: Warum Versionskontrolle auch für kleine Sites unverzichtbar ist

Artikel vorlesen lassen

Loading the Elevenlabs Text to Speech AudioNative Player...
| Web Development | Geschätzte Lesezeit : min.

Freitagnachmittag, kaputtes Template, Kunde ruft in 10 Minuten an. Genau für solche Momente wurde Git erfunden – auch für kleine TYPO3-Projekte.

Freitagnachmittag, 16:30 Uhr. Du änderst ein TypoScript-Template für einen Kunden – nur eine kleine Anpassung. Du speicherst, lädst die Seite neu und… alles ist kaputt. Die Navigation funktioniert nicht mehr, Inhalte werden nicht angezeigt. Du versuchst panisch, die Änderung rückgängig zu machen, aber was genau hast du nochmal geändert? Die alte Version? Keine Ahnung wo. Der Kunde ruft in 10 Minuten an.

Genau für solche Momente wurde Git erfunden. Aber viele TYPO3-Integratoren denken: "Git ist Overkill für meine kleinen Projekte." Spoiler: Das stimmt nicht.

In diesem Artikel zeige ich dir, warum Git gerade für TYPO3-Projekte – egal welcher Größe – dein Leben einfacher macht. Mit konkreten TYPO3-Beispielen, nicht mit abstrakter Theorie.

Warum TYPO3 ohne Git zum Albtraum werden kann

Lass uns konkret werden. Hier sind drei Szenarien, die du vielleicht kennst:

Extension-Update schlägt fehl

Du updatest eine Extension über Composer. composer require vendor/extension:^2.0 läuft durch, du commitest die Änderungen. Beim nächsten Aufruf der Website: Fatal Error. Die Extension ist inkompatibel mit einer anderen installierten Extension.

Ohne Git: Panik. Welche Version war vorher installiert? War es 1.8.2 oder 1.9.1? Composer-Verlauf durchsuchen, händisch downgraden, hoffen dass es funktioniert. Längere Downtime.

Mit Git: git revert HEAD und in 30 Sekunden läuft die alte Version wieder. Du atmest durch, analysierst in Ruhe das Kompatibilitätsproblem und findest eine saubere Lösung.

Wichtig: Git versioniert nur Dateien, nicht die Datenbank. Wenn eine Extension Datenbank-Änderungen macht, brauchst du zusätzlich ein DB-Backup. Aber selbst dann ist Git unverzichtbar, weil die meisten Probleme durch Code-Änderungen entstehen, nicht durch die Datenbank.

TypoScript-Änderungen summieren sich

Über Monate machst du kleine Anpassungen im Template. Die Hauptseiten funktionieren einwandfrei. Dann meldet sich der Kunde: Auf einer Unterseite, die niemand explizit geprüft hat, werden die Bilder nicht mehr richtig angezeigt. Welche TypoScript-Änderung war schuld? Keine Ahnung.

Ohne Git: Datei-Vergleich mit uralten Backups, wenn du überhaupt welche hast. Rätselraten. Zeile für Zeile durchgehen und hoffen, dass dir etwas auffällt.

Mit Git: git log zeigt jede Änderung mit Datum und Begründung. Du siehst genau: Am 15. September hast du das Content-Rendering angepasst. Das war wahrscheinlich der Moment, als das Problem auftrat.

Site-Package entwickeln ohne Sicherheitsnetz

Du entwickelst ein neues Template. Willst verschiedene Ansätze ausprobieren. Hast aber Angst, den funktionierenden Stand zu überschreiben.

Ohne Git: templates_v1, templates_v2, templates_final, templates_wirklich_final, templates_final_JETZT_WIRKLICH. Du kennst das.

Mit Git: Branches für jedes Experiment. Easy switch zwischen Versionen. Kein Chaos, keine Duplikate, kein Durcheinander.

Die 5 konkreten Vorteile für TYPO3-Integratoren

1. Sicheres Experimentieren

Du willst eine neue Extension testen? Erstelle einen Branch, probiere aus. Funktioniert nicht? Lösche den Branch, fertig. Kein Chaos, kein Risiko.

TYPO3-Beispiel:

git checkout -b test/new-news-extension  # Neuen Branch erstellen
# Extension installieren und testen
# Funktioniert nicht wie gewünscht?
git checkout main  # Zurück zum Hauptbranch
git branch -D test/new-news-extension  # Test-Branch löschen
# Fertig, als wäre nichts gewesen

Die einzelnen Kommandos erkläre ich in einem Videokurs Schritt für Schritt. Für den Anfang reicht: Git gibt dir die Freiheit zu experimentieren, ohne Angst vor kaputten Systemen.

2. Dokumentierte Änderungshistorie

Jede Anpassung wird mit Commit-Message dokumentiert. Du siehst später genau: Warum habe ich das gemacht? Der Kunde fragt: "Was haben Sie letzte Woche geändert?" git log zeigt es.

TYPO3-Beispiel:

git log --oneline  # Zeigt alle Änderungen in Kurzform
[FEATURE] Kontaktformular-Extension integriert
[BUGFIX] Navigation auf Mobile korrigiert
[TASK] TYPO3 auf 13.4.19 aktualisiert

Diese Commit-Messages sind nicht nur für dich hilfreich. Sie zeigen dem Kunden auch, dass du strukturiert arbeitest.

Du willst lernen, wie du Git-Kommandos sicher im TYPO3-Alltag einsetzt? In meinem Git-Grundlagen-Videokurs zeige ich dir das Schritt für Schritt mit echten TYPO3-Projekten.

3. Einfaches Rollback

Eine Änderung war ein Fehler? Zurück zur vorherigen Version in Sekunden. Kein Backup-Wirrwarr, keine FTP-Jonglage.

TYPO3-Beispiel:

Du hast das fluid_styled_content Update gemacht und jetzt sind alle Templates kaputt? git revert HEAD (macht den letzten Commit rückgängig) und du bist zurück auf dem funktionierenden Stand, während du in Ruhe das Problem analysierst.

4. Saubere Deployment-Workflows

Lokale Entwicklung mit DDEV. Testen im Staging-Branch. Erst dann auf Live deployen. Mit Git weißt du immer: Was läuft wo?

TYPO3-Beispiel:

# Lokal entwickeln
git commit -m "[FEATURE] Neue Inhaltssektion"  # Änderung speichern
# Auf Staging testen
git push staging main  # Auf Test-Server hochladen
# Wenn alles läuft: Live
git push production main  # Auf Live-Server hochladen

Wie du solche Deployment-Workflows konkret aufsetzt, würde den Rahmen des Artikels sprengen. Ich plane dazu aber ein Webinar, in dem ich live zeige, wie du so etwas umsetzen kannst.

5. Team-Arbeit ohne Chaos

Mehrere Leute arbeiten am gleichen TYPO3-Projekt? Jeder in seinem Branch. Zusammenführen, ohne dass sich jemand überschreibt.

Selbst wenn du alleine arbeitest: Dein zukünftiges Ich ist auch ein Teammitglied. Und das wird dir für saubere Dokumentation dankbar sein.

"Aber ist das nicht kompliziert?"

Einwand 1: "Das ist Overkill für meine kleine TYPO3-Site mit 20 Seiten"

Antwort: Gerade bei kleinen Projekten brauchst du Git am meisten. Warum? Weil du oft alleine arbeitest, kein Team hast, das Fehler abfängt, und meist kein ausgefeiltes Backup-System.

Git ist dein Sicherheitsnetz.

TYPO3-Realität: Auch eine "kleine" Site hat:

  • Ein Site-Package mit Templates
  • 5-10 Extensions
  • TypoScript-Konfiguration
  • Backend-Layouts

Das sind hunderte Dateien. Willst du wirklich ohne Versionskontrolle arbeiten?

Einwand 2: "Ich arbeite direkt auf dem Server / mache regelmäßige FTP-Backups"

Antwort: FTP-Backups sind besser als nichts, aber:

  • Wie oft machst du sie? Täglich? Stündlich?
  • Wie findest du die richtige Backup-Version?
  • Wie siehst du, was sich zwischen zwei Backups geändert hat?
  • Was machst du, wenn du nur eine einzelne Datei zurückholen willst?

Git macht das alles automatisch und besser.

TYPO3-Beispiel: Du hast heute Morgen die ext_tables.sql einer Extension angepasst. Mittags hat der Kunde angerufen und eine andere Änderung gewollt. Abends merkst du: Die Datenbank spinnt. Welche Änderung war schuld?

Mit FTP-Backup: Rätselraten. Mit Git: git diff zeigt dir jede einzelne Zeile.

Einwand 3: "Ich habe keine Zeit, Git zu lernen"

Antwort: Git-Basics für den TYPO3-Alltag lernst du in 3-4 Stunden. Diese Investition holst du beim ersten verhinderten Desaster wieder rein.

Zeit-Rechnung:

  • 4 Stunden Git lernen = 1 Arbeitstag
  • 1 kaputtes TYPO3-Update ohne Backup beheben = 1-2 Arbeitstage plus Kundenvertrauen verloren

Du sparst Zeit, du verschwendest sie nicht.

Erste Schritte mit Git für TYPO3

Schritt 1: Git installieren

  • macOS: Über Homebrew oder Xcode Command Line Tools
  • Windows: Git für Windows
  • Linux: Über Package Manager

Schritt 2: Dein erstes TYPO3-Repository

# In dein TYPO3-Projektverzeichnis wechseln
cd /pfad/zu/deinem/typo3-projekt
# Git initialisieren
git init
# .gitignore für TYPO3 erstellen (wichtig!)
# Damit werden Uploads, Cache, etc. nicht versioniert

Was gehört ins Repository, was nicht?

Versionieren (JA):

  • Site-Packages (packages/dein_sitepackage)
  • Eigene Extensions
  • composer.json und composer.lock
  • ggf. .htaccess und Konfigurationsdateien

NICHT versionieren:

  • fileadmin/user_upload (Kundenbilder)
  • var/cache
  • var/log
  • typo3temp
  • .env mit Passwörtern

Beispiel-.gitignore für TYPO3 (muss natürlich an jedes Projekt individuell angepasst werden):

.DS_Store
.idea
.vscode
/var/*
!/var/labels
/vendor
/public/*
!/public/.htaccess
!/public/typo3conf
/public/typo3conf/*
!/config/system/settings.php
*.gz
*.cache

Je nach Art des Projekts und Remote-Repositories muss du darauf achten, sensible Daten wie z.B. Datenbank-Zugangsdaten nicht in Remote-Repositories hochzuladen.

Schritt 3: Dein erster Commit

# Alle Dateien zum Staging hinzufügen
git add .
# Ersten Commit erstellen
git commit -m "[TASK] Initial TYPO3 13 Setup"

Schritt 4: Ab jetzt immer committen

Gewöhne dir an:

  • Nach jeder Extension-Installation: Commit
  • Nach jeder Template-Änderung: Commit
  • Nach jedem TYPO3-Update: Commit

Beispiel-Workflow:

# Extension über Composer installiert
composer require vendor/extension-name
# Änderungen für Git vormerken und speichern
git add composer.json composer.lock
git commit -m "[FEATURE] Extension XY installiert"
# Im Backend konfiguriert
git add config/system/settings.php
git commit -m "[TASK] Extension XY konfiguriert"

Was git add, commit und die anderen Kommandos genau machen und wie du sie richtig einsetzt, zeige ich dir im Git-Grundlagen-Videokurs Schritt für Schritt.

Git ist kein Nice-to-Have, sondern Must-Have

Zusammengefasst:

  • Git verhindert Katastrophen und spart dir schlaflose Nächte
  • Git dokumentiert deine Arbeit und macht dich professioneller
  • Git kostet ein paar Stunden Lernzeit, spart aber hunderte Stunden Frust
  • Git funktioniert auch bei kleinen TYPO3-Projekten

Du willst Git endlich richtig für deine TYPO3-Projekte nutzen? In meinem Git-Grundlagen-Videokurs lernst du in 3 Stunden, wie du Git sicher im TYPO3-Alltag einsetzt – mit Praxis-Demos, Handouts und einem Demo-Repository.

Zum Git-Videokurs →

Oder starte mit dem kostenlosen Git-Spickzettel für TYPO3-Integratoren:

Kostenlosen Spickzettel herunterladen →

Zurück

Wer schreibt hier?

Hi, ich bin Wolfgang.

Seit 2006 tauche ich tief in die faszinierende Welt von TYPO3 ein – es ist nicht nur mein Beruf, sondern auch meine Leidenschaft. Mein Weg führte mich durch unzählige Projekte, und ich habe Hunderte von professionellen Videoanleitungen erstellt, die sich auf TYPO3 und seine Erweiterungen konzentrieren. Ich liebe es, komplexe Themen zu entwirren und in leicht verständliche Konzepte zu verwandeln, was sich auch in meinen Schulungen und Seminaren widerspiegelt.

Als aktives Mitglied im TYPO3 Education Committee setze ich mich dafür ein, dass die Prüfungsfragen für den TYPO3 CMS Certified Integrator stets aktuell und herausfordernd bleiben. Seit Januar 2024 bin ich stolz darauf, offizieller TYPO3 Consultant Partner zu sein!

Meine Leidenschaft endet aber nicht am Bildschirm. Wenn ich nicht gerade in die Tiefen von TYPO3 eintauche, findest du mich oft auf meinem Rad, während ich die malerischen Wege am Bodensee erkunde. Diese Ausflüge ins Freie sind mein perfekter Ausgleich – sie halten meinen Geist frisch und liefern mir immer wieder neue Ideen.

Der TYPO3 Newsletter

TYPO3-Insights direkt in dein Postfach! 
Hol dir monatliche Updates, praktische Tipps und spannende Fallstudien. 
Übersichtlich, zeitsparend, ohne Spam. 
Bist du dabei? Jetzt für den Newsletter anmelden!

Trage dich hier ein, um den Newsletter zu erhalten.