Git Bash: Was ist das und wie nutzt man es unter Windows?
Git Bash ist ein Terminal für Windows, das mit Git for Windows installiert wird und eine vertraute Unix-Umgebung bereitstellt: die Shell bash, Befehle wie ls, cd, cat, grep, ssh und Git selbst. Damit funktionieren Git-Befehle und Anleitungen aus der Dokumentation unter Windows genauso wie unter Linux und macOS.
Was ist Git Bash?
Git Bash ist eine Windows-Anwendung, die zusammen mit Git for Windows installiert wird und ein Terminalfenster mit der Shell bash öffnet. Darin laufen Git selbst und eine Reihe von Standard-Unix-Werkzeugen: ls, cd, pwd, cat, grep, find, less, ssh, ssh-keygen, curl und weitere.
Technisch handelt es sich um eine Portierung der MSYS2-Umgebung: Die Programme sind für Windows kompiliert, verhalten sich aber wie unter Linux. Das Terminalfenster ist standardmäßig der Emulator MinTTY. Es ist weder eine virtuelle Maschine noch ein vollwertiges Linux – dafür gibt es WSL. Git Bash ist schlanker: Es startet sofort und arbeitet direkt mit Windows-Dateien.
In Suchanfragen taucht es gelegentlich als „git bush“ auf – gemeint ist dasselbe. Bash steht für Bourne Again SHell und hat mit Büschen (bush) nichts zu tun.
Wozu Git Bash, wenn es cmd und PowerShell gibt?
Git funktioniert problemlos in PowerShell und in der normalen Eingabeaufforderung. Git Bash hat aber handfeste Vorteile, gerade für Einsteiger.
- Dieselben Befehle auf allen Systemen. Die Git-Dokumentation, Forenantworten, GitHub-Anleitungen und Kurse schreiben Befehle für bash. In Git Bash funktionieren sie ohne Anpassung:
rm -rf build,cat ~/.ssh/id_ed25519.pub,export VAR=value. - SSH-Werkzeuge sind schon da.
ssh-keygen,ssh-agent,ssh-addsind vorinstalliert – ein Schlüssel für GitHub ist in einer Minute erstellt. - Git-Hinweise im Prompt. Git Bash zeigt den aktuellen Branch direkt in der Eingabezeile, etwa
(main), und während eines Merges(main|MERGING). - Autovervollständigung. Tab ergänzt Git-Befehle, Branch- und Dateinamen.
- Eine Fähigkeit für später. Server, Docker-Container und CI laufen unter Linux. Wer sich in Git Bash an bash gewöhnt hat, fühlt sich auf dem Server wie zu Hause.
Git Bash, Git CMD, PowerShell: Was ist der Unterschied?
Nach der Installation von Git for Windows erscheinen im Startmenü mehrere Einträge, und das verwirrt.
| Werkzeug | Was ist das? | Wann verwenden? |
|---|---|---|
| Git Bash | Shell bash mit Unix-Werkzeugen und Git | Hauptarbeit mit Git, Anleitungen aus dem Netz nachvollziehen |
| Git CMD | Normale Windows-Eingabeaufforderung (cmd.exe) mit Git im PATH | Wenn Sie an cmd gewöhnt sind und nur git-Befehle brauchen |
| Git GUI | Einfacher grafischer Client auf Basis von Tcl/Tk | Commits übersichtlich zusammenstellen, selten genutzt |
| PowerShell / cmd | Standard-Terminals von Windows | Git funktioniert, wenn bei der Installation der PATH „from the command line and also from 3rd-party software“ gewählt wurde |
Git CMD ist kein eigenes Programm, sondern ein normales cmd mit eingerichteter Umgebung. Die Git-Befehle sind dieselben, aber ls, cat und grep funktionieren nicht – stattdessen gibt es dir, type und findstr. Wer nach „git in cmd“ sucht, will meist genau das wissen: wie man git aus der Standard-Eingabeaufforderung startet. Die Antwort: gar nicht besonders, einfach git status ausführen, sofern Git im PATH ist.
Git Bash öffnen
Über das Startmenü
Tippen Sie „Git Bash“ und starten Sie die Anwendung. Das Terminal öffnet sich im Benutzerordner: /c/Users/Name, der in bash als ~ bezeichnet wird.
Im gewünschten Ordner über das Kontextmenü
Am bequemsten: Klicken Sie im Explorer mit der rechten Maustaste auf eine freie Stelle im Projektordner und wählen Sie „Open Git Bash here“. Unter Windows 11 ist dieser Eintrag unter „Weitere Optionen anzeigen“ versteckt (oder Umschalt + Rechtsklick).
Im Terminal von VS Code
Öffnen Sie das Terminal (Strg + `), klicken Sie auf den Pfeil neben „+“ und wählen Sie Git Bash. Damit es standardmäßig startet, führen Sie den Befehl „Terminal: Select Default Profile“ aus und wählen Git Bash.
Im Windows Terminal
Git for Windows kann selbst ein Git-Bash-Profil zu Windows Terminal hinzufügen (Option im Installationsassistenten). Fehlt das Profil, legen Sie ein neues mit dem Befehl C:\Program Files\Git\bin\bash.exe -i -l an.
Pfade und Dateien: der wichtigste Unterschied zu Windows
In Git Bash werden Pfade im Unix-Stil geschrieben. Laufwerk C: wird zu /c, Backslashes werden zu normalen Schrägstrichen.
| Windows | Git Bash |
|---|---|
C:\Users\Anna\projects | /c/Users/Anna/projects |
D:\work | /d/work |
%USERPROFILE% | ~ oder $HOME |
Enthält der Pfad Leerzeichen, setzen Sie ihn in Anführungszeichen: cd "/c/Users/Anna/My Projects". Den aktuellen Ordner im Explorer öffnen Sie mit explorer ., in VS Code mit code ..
Grundlegende Git-Bash-Befehle für Einsteiger
Navigation und Dateien
pwd # wo bin ich?
ls -la # Dateiliste inklusive versteckter Dateien (.git, .gitignore)
cd projects/site # in einen Ordner wechseln
cd .. # eine Ebene nach oben
mkdir new-app # Ordner anlegen
touch index.html # leere Datei anlegen
cat README.md # Inhalt anzeigen
rm file.txt # Datei löschen
rm -r old-folder # Ordner samt Inhalt löschen
clear # Bildschirm leeren
Das erste Repository direkt in Git Bash
$ mkdir my-first-repo && cd my-first-repo
$ git init
Initialized empty Git repository in C:/Users/Anna/my-first-repo/.git/
$ echo "Hallo, Git" > hello.txt
$ git add hello.txt
$ git commit -m "hello.txt hinzufügen"
$ git log --oneline
Nach git init ändert sich der Prompt: Der Branch-Name erscheint in Klammern. So erkennen Sie schnell, dass Sie sich in einem Repository befinden.
Nützliche Kniffe
- Tab – Autovervollständigung für Befehle, Branches und Dateien. Zweimal drücken zeigt die Möglichkeiten.
- Pfeil nach oben – vorheriger Befehl;
history– der gesamte Verlauf; Strg + R – Suche im Verlauf. - Kopieren/Einfügen – in MinTTY kopiert Markieren mit der Maus sofort, Einfügen geht mit Umschalt + Einfg oder Rechtsklick. Strg + C bricht im Terminal einen Befehl ab, statt zu kopieren.
- q – beendet die seitenweise Anzeige (
git logundgit difföffnen sich inless). - Esc, dann :q! und Enter – Vim verlassen, falls er für die Commit-Message aufgegangen ist.
Git CLI: Warum sich die Kommandozeile lohnt
Git CLI ist die Kommandozeilenschnittstelle von Git, also die Befehle git ... selbst. Grafische Clients sind bequem, um die Historie anzusehen, haben aber Grenzen: Nicht alle Operationen sind verfügbar, und bei einem Fehler erklärt Ihnen kein Button, was gerade passiert. Die Kommandozeile gibt Ihnen volle Kontrolle und ausführliche Meldungen.
Ein weiteres Argument: Im Vorstellungsgespräch oder in einem neuen Team sollen Sie zeigen, wie Sie einen Commit rückgängig machen oder einen Konflikt lösen – und jeder nutzt eine andere GUI. Die Befehle sind überall gleich. Eine gute Strategie: in der CLI arbeiten und GUI oder IDE-Werkzeuge zum Betrachten von Diffs und Historie nutzen.
Git Bash anpassen
Aliase in ~/.bashrc
Git Bash liest beim Start ~/.bash_profile und ~/.bashrc. Tragen Sie dort Abkürzungen ein:
alias gs='git status'
alias gl='git log --oneline --graph --all'
alias ll='ls -la'
Damit die Änderungen ohne Neustart greifen, führen Sie source ~/.bashrc aus. Erscheint beim Start eine Warnung, dass eine .bashrc, aber keine .bash_profile gefunden wurde, legt Git Bash die .bash_profile selbst an – das ist normal.
Aliase in Git selbst
Aliase lassen sich auch in Git speichern, dann funktionieren sie in jedem Terminal:
git config --global alias.st status
git config --global alias.lg "log --oneline --graph --all"
Jetzt funktionieren git st und git lg sowohl in Git Bash als auch in PowerShell.
Aussehen
Schrift, Größe, Farben und Transparenz stellen Sie per Rechtsklick auf die Titelleiste → Options ein. Für Umlaute und Sonderzeichen prüfen Sie im Bereich Text, dass die Kodierung UTF-8 ausgewählt ist.
Typische Probleme in Git Bash
Zeichensalat statt Umlauten in git log
Meist hilft es, unter Options → Text die Kodierung UTF-8 einzustellen und in ~/.bashrc die Zeile export LANG=de_DE.UTF-8 zu ergänzen. Für Dateinamen mit Umlauten in git status führen Sie git config --global core.quotepath false aus – sonst erscheinen sie als Escape-Sequenzen wie \303\244.
Interaktive Programme hängen
Manche Konsolenprogramme (etwa der Python-Interpreter oder node ohne Argumente) verhalten sich in MinTTY merkwürdig. Starten Sie sie über winpty: winpty python, oder verwenden Sie Git Bash innerhalb von Windows Terminal.
Pfade werden seltsam umgewandelt
MSYS wandelt Argumente, die wie Unix-Pfade aussehen, automatisch in Windows-Pfade um. Manchmal stört das, etwa wenn Sie /app an docker run übergeben. Die Lösung: den Schrägstrich verdoppeln (//app) oder für den Befehl MSYS_NO_PATHCONV=1 setzen.
„Permission denied (publickey)“ beim Push
Der SSH-Schlüssel wurde nicht erstellt oder nicht bei GitHub hinterlegt. Erzeugen Sie in Git Bash einen Schlüssel mit ssh-keygen -t ed25519 -C "you@example.com", fügen Sie den Inhalt von ~/.ssh/id_ed25519.pub in den GitHub-Einstellungen hinzu und prüfen Sie mit ssh -T git@github.com.
Git Bash oder WSL?
WSL ist ein echtes Linux innerhalb von Windows mit eigenem Dateisystem und eigenen Paketen. Sie brauchen es, wenn Sie für Linux entwickeln: Docker ausführen, kompilieren, einen Server-Stack nutzen. Git Bash ist einfacher und schlanker, und für die Arbeit mit Git reicht es vollkommen. Wichtig ist, nichts zu vermischen: Ein innerhalb von WSL geklontes Repository verwalten Sie besser mit dem Git aus WSL, ein Repository auf Laufwerk C: mit Git for Windows.
Fazit
Git Bash ist ein Terminal mit bash und Unix-Werkzeugen, das mit Git for Windows mitgeliefert wird. Es macht Windows kompatibel mit der Git-Dokumentation und gängigen Anleitungen, bringt SSH gleich mit und zeigt den Branch im Prompt an. Git CMD ist dasselbe Git in der normalen Eingabeaufforderung, ohne Unix-Befehle. Zum Lernen und für die tägliche Arbeit unter Windows nehmen Sie Git Bash – im Git-Kurs dient es in den Praxisübungen als Hauptterminal.
Häufige Fragen
Ist Git Bash kostenlos?
Ja, Git Bash ist Teil von Git for Windows und wird kostenlos unter einer freien Lizenz verbreitet.
Kann man Git Bash getrennt von Git installieren?
Nein, Git Bash wird nur zusammen mit Git for Windows installiert. Ist Git bereits installiert, finden Sie Git Bash im Startmenü.
Gibt es Git Bash für macOS und Linux?
Ein eigenes Programm gibt es nicht, und es wird auch nicht gebraucht: Unter macOS und Linux arbeitet das eingebaute Terminal bereits mit bash oder zsh und Unix-Werkzeugen.
Wo speichert Git Bash den Home-Ordner und die Einstellungen?
Der Home-Ordner ist C:\Users\Name, in bash erreichbar als ~. Dort liegen auch .bashrc, .bash_profile, .gitconfig und der Ordner .ssh.
Kann man in Git Bash bat- und exe-Dateien ausführen?
Ja, Windows-Programme starten Sie über Namen oder Pfad, zum Beispiel ./build.bat oder notepad file.txt.
Dieses Thema wird im Kurs „Git vom Anfänger zum versierten Entwickler“ ausführlich mit Praxis behandelt.
Zum Kurs