
Git-Workflow unter WSL2 – schnell, sicher und stabil

Git gehört für Entwickler zum Alltag wie der erste Kaffee am Morgen. Unter WSL2 zeigt sich jedoch sehr schnell, dass kleine Konfigurationsfehler massive Auswirkungen auf Performance und Stabilität haben können.
In diesem Teil der Serie geht es darum, Git unter WSL2 so einzurichten, dass es sich wie natives Linux verhält, gleichzeitig aber sauber mit Windows zusammenspielt.
Dieser Artikel basiert auf realen Projekten mit WSL2, Git und VS Code und dokumentiert typische Fehlerquellen sowie bewährte Lösungen aus dem täglichen Entwickleralltag.
Inhaltsverzeichnis
Git unter WSL2: typische Performance-Fallstricke
Viele Entwickler gehen anfangs davon aus, dass Git unter WSL2 unabhängig vom Speicherort gleich schnell arbeitet. In der Praxis ist genau das Gegenteil der Fall.
Git führt extrem viele Datei-Operationen aus – und diese reagieren empfindlich auf das zugrunde liegende Dateisystem.
Warum Git-Repositories ins Linux-Home gehören
Repositories auf C:\ oder unter /mnt/c zu verwalten, wirkt bequem, kostet aber massiv Leistung. Der Grund ist das von WSL2 genutzte 9p-Protokoll, das bei vielen kleinen Dateien stark bremst.
Empfehlung:
mkdir -p ~/projects
cd ~/projects
git Praxisbeobachtung:
git status,git diff,git checkoutreagieren sofortgroße Repositories klonen in Sekunden statt Minuten
Node- und PHP-Abhängigkeiten installieren deutlich schneller
Kurz gesagt: Alles, was mit Git arbeitet, gehört ins Linux-Dateisystem.
Zeilenenden verstehen: LF vs. CRLF im Team
Gemischte Teams mit Windows-, macOS- und Linux-Systemen stoßen früher oder später auf das klassische Zeilenenden-Problem. Unter WSL2 arbeitest du technisch in einer Linux-Umgebung – entsprechend sollte Git auch so konfiguriert sein.
Empfehlung: .gitattributes im Projekt
* text=auto
*.sh text eol=lf
*.js text eol=lf
*.php text eol=lf
Das erzwingt konsistente Zeilenenden unabhängig vom Betriebssystem und verhindert unnötige Diff-Änderungen.
Git-Credentials unter WSL2 sicher verwalten
Option A: Windows Git Credential Manager nutzen
Wenn Git bereits unter Windows eingerichtet ist, kannst du dessen Credential Manager direkt aus WSL2 verwenden:
git config --Vorteile:
keine doppelten Logins
Passwort- oder Token-Eingabe nur einmal
funktioniert mit GitHub, GitLab, Bitbucket
SSH-Keys richtig einsetzen (Ed25519)
Der klassische Linux-Weg bleibt SSH – modern, sicher und unabhängig vom Betriebssystem.
Key generieren
ssh-keygen -t ed25519 -C Public Key anzeigen
cat ~Den Key anschließend im Git-Provider hinterlegen.
Hinweis aus der Praxis:
Bei passwortgeschützten SSH-Keys kann VS Code beim Push hängen bleiben. In diesem Fall hilft ein laufender ssh-agent oder – bei vollständig verschlüsseltem System – ein Key ohne Passphrase.
Git-Integration in VS Code mit WSL-Remote
Öffnest du ein Projekt über WSL Remote, nutzt VS Code automatisch:
Git aus der Linux-Distribution
Linux-Pfade
Linux-Hooks und Tools
Empfehlenswerte Erweiterungen
GitLens: Commit-Historie direkt im Code
Integriertes Terminal (`Ctrl + Shift + ``): startet sofort in WSL
Das Ergebnis ist ein durchgängiger Workflow ohne Kontextwechsel.
Häufige Git-Probleme unter WSL2 und Lösungen
Problem: Git reagiert träge
→ Repository liegt unter /mnt/c
Problem: Jeder Commit zeigt riesige Änderungen
→ fehlende .gitattributes
Problem: Passwortabfrage bei jedem Push
→ Credential Manager oder SSH fehlt
Best Practices für einen stabilen Git-Workflow
Repositories immer im Linux-Dateisystem
.gitattributesprojektweit definierenWindows-Tools nur für Editor & GUI
Git-Operationen immer in WSL ausführen
Ausblick: Serien-Fazit und nächste Schritte
Mit diesem Teil ist die Git-Basis unter WSL2 sauber aufgesetzt. In den nächsten Schritten bietet sich entweder ein Serien-Fazit oder gezieltes Framework-Tuning (Laravel, Symfony, Node.js) an – aufbauend auf dem stabilen Fundament der vorherigen Teile.
FAQ – Git unter WSL2
Ist Git unter WSL2 schneller als unter Windows?
Ja, sofern das Repository im Linux-Dateisystem liegt.
Kann ich Windows- und WSL-Git mischen?
Davon ist abzuraten. Nutze Git pro Projekt nur in einer Umgebung.
SSH oder Credential Manager?
Beides ist valide. SSH ist plattformunabhängiger, GCM komfortabler.
Über den Autor
Webinteger arbeitet seit vielen Jahren produktiv mit Linux-basierten Entwicklungsumgebungen unter Windows.
Der Fokus liegt auf performanten Setups mit WSL 2, Docker, PHP, Node.js und modernen Build-Tools in realen Projekten – nicht auf theoretischen Beispielkonfigurationen.
Die Artikel dieser Serie entstehen direkt aus dem täglichen Einsatz in Kunden- und Eigenprojekten und dokumentieren bewusst auch typische Fehler, Engpässe und bewährte Workarounds.
Teil der Serie


