Git ist ein verteiltes Versionskontrollsystem, das jede Änderung an Dateien protokolliert, parallele Entwicklungsstränge ermöglicht und die Zusammenarbeit im Team koordiniert. Entwickelt 2005 von Linus Torvalds für die Entwicklung des Linux-Kernels, ist Git heute das mit Abstand meistgenutzte Versionskontrollsystem der Welt. Über 95 % aller Softwareentwickler arbeiten mit Git.
Für die Webentwicklung ist Git unverzichtbar. Jede professionelle Website, jedes Next.js-Projekt und jede Webanwendung wird mit Git verwaltet. In Kombination mit Plattformen wie GitHub und CI/CD-Pipelines bildet Git das Rückgrat moderner Softwareentwicklung.
Grundkonzepte von Git
Repository, Commits und Branches
| Konzept | Beschreibung | Analogie |
|---|---|---|
| Repository | Projektordner mit vollständiger Versionshistorie | Archiv mit allen Dokumentversionen |
| Commit | Snapshot des Projekts zu einem Zeitpunkt | Speicherpunkt in einem Videospiel |
| Branch | Unabhängige Arbeitslinie | Parallele Zeitlinie |
| Merge | Zusammenführen zweier Branches | Zwei Zeitlinien verschmelzen |
| Pull Request | Antrag auf Zusammenführung mit Code Review | Änderungsantrag mit Prüfung |
Das verteilte Modell
Git ist verteilt: Jeder Entwickler hat eine vollständige Kopie des Repositories mit der gesamten Historie. Das bedeutet:
- Arbeiten offline ist uneingeschränkt möglich
- Kein zentraler Server als Single Point of Failure
- Extrem schnelle Operationen, da alles lokal passiert
- Backups sind automatisch durch die Verteilung gegeben
Git-Workflows für Web-Teams
Feature-Branch-Workflow
Der verbreitetste Workflow für Webprojekte:
- Vom
main-Branch einen Feature-Branch erstellen (z. B.feature/kontaktformular) - Änderungen im Feature-Branch committen
- Pull Request auf GitHub erstellen
- Code Review durch Teammitglieder
- CI/CD-Pipeline läuft automatisch (Tests, Linting, Build)
- Nach Freigabe: Merge in
main - Automatisches Deployment auf Vercel oder der Produktionsumgebung
Commit-Nachrichten: Best Practices
Gute Commit-Nachrichten sind essenziell für die Wartbarkeit eines Projekts:
| Schlecht | Gut |
|---|---|
| "Fixes" | "fix: Kontaktformular-Validierung für Telefonnummer korrigiert" |
| "Update" | "feat: Lexikon-Suchfunktion mit Autocomplete implementiert" |
| "WIP" | "refactor: Hero-Section für Mobile-Breakpoints optimiert" |
Die Conventional Commits-Konvention hat sich als Standard etabliert:
feat:— Neues Featurefix:— Bugfixrefactor:— Code-Umstrukturierung ohne Verhaltensänderungdocs:— Dokumentationsänderungstyle:— Formatierung, kein Code-Changetest:— Tests hinzugefügt oder geändert
Git und GitHub: Das Ökosystem
GitHub als Kollaborationsplattform
GitHub erweitert Git um teamfähige Features:
- Pull Requests: Strukturiertes Code Review mit Kommentaren, Diskussionen und Approvals
- Issues: Aufgaben- und Bug-Tracking direkt im Repository
- GitHub Actions: CI/CD-Pipelines als Code im Repository
- Branch Protection: Regeln, die Merges ohne Tests oder Reviews verhindern
- GitHub Pages: Kostenloses Hosting für statische Websites
GitHub-Integration mit Vercel
Für Next.js-Projekte bietet die GitHub-Vercel-Integration nahtloses Deployment:
- Push auf
maintriggert automatisches Production Deployment - Jeder Pull Request erhält ein Preview Deployment mit eigener URL
- Rollbacks auf vorherige Commits sind mit einem Klick möglich
Git-Grundbefehle
| Befehl | Funktion |
|---|---|
git init | Neues Repository erstellen |
git clone | Bestehendes Repository kopieren |
git add | Dateien für den nächsten Commit vormerken |
git commit | Änderungen als Snapshot speichern |
git push | Lokale Commits zum Remote-Repository senden |
git pull | Änderungen vom Remote-Repository holen |
git branch | Branches anzeigen oder erstellen |
git checkout / git switch | Branch wechseln |
git merge | Branches zusammenführen |
git log | Commit-Historie anzeigen |
git stash | Änderungen temporär beiseitelegen |
Git für Nicht-Entwickler
Auch Designer und Projektmanager profitieren von Git-Verständnis. Die GitHub-Weboberfläche ermöglicht das Bearbeiten von Dateien, das Prüfen von Pull Requests und das Nachverfolgen von Änderungen ohne Kommandozeile. Für PAKU Media bedeutet das: Textkorrekturen, Content-Updates und Übersetzungen können direkt in GitHub vorgenommen werden, durchlaufen die gleichen Qualitätschecks und werden automatisch deployt.
Häufige Git-Fehler und deren Lösung
Auf dem falschen Branch gearbeitet
Änderungen lassen sich mit git stash sichern, auf den richtigen Branch wechseln und dort mit git stash pop anwenden. Kein Code geht verloren.
Commit-Nachricht falsch
Der letzte Commit kann mit git commit --amend korrigiert werden, solange er noch nicht gepusht wurde. Nach dem Push ist ein neuer Commit die sauberere Lösung.
Merge-Konflikte
Häufige, kleine Merges sind die beste Prävention. Wenn Konflikte auftreten, zeigt Git die betroffenen Stellen klar markiert an. Moderne Editoren wie VS Code bieten visuelle Merge-Tools, die die Auflösung erleichtern.