Files
hugo_docker/content/lazygit.md
T
2026-09-08 11:02:29 +02:00

8.1 KiB
Raw Blame History

title, date
title date
Lazygit – Der Terminal-Git-Client 2026-09-08

Lazygit – Der Terminal-Git-Client

Lazygit ist ein schneller, terminalbasierter Git-Client mit TUI (Terminal User Interface). Du steuerst alles per Tastatur und behältst dein ganzes Repository auf einen Blick – kein Merken von kryptischen git-Befehlen mehr.

Installation

# Arch / Manjaro
sudo pacman -S lazygit

# Ubuntu / Debian
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit /usr/local/bin

# macOS
brew install lazygit

# Windows (mit Winget)
winget install JesseDuffield.lazygit

Start: Einfach lazygit im Repository-Verzeichnis ausführen.


Navigation (global)

Taste Aktion
h / l Zwischen Panels wechseln (links/rechts)
j / k In Liste nach unten/oben
↑ / ↓ Dasselbe wie j/k
g Zum Anfang der Liste
shift+G Zum Ende der Liste
/ Suchen (im aktuellen Panel)
q Lazygit beenden
esc Zurück / Aktion abbrechen
? Hilfe anzeigen (alle Tasten)
tab In neuem Panel: zwischen Bereichen springen

Zeigt, ob du im normalen Modus, im Rebase, Merge-Konflikt etc. bist. Normalerweise springst du mit 1-5 direkt in die anderen Panels.


Panel 2: Dateien / Working Tree

Hier siehst du alle geänderten, neuen und gelöschten Dateien.

Taste Aktion
Leertaste Datei stagen/unstagen (markiert)
a Alle Dateien stagen/unstagen
c Commit erstellen (öffnet Editor für Commit-Message)
shift+C Commit mit Editor (git commit)
enter Diff der ausgewählten Datei anzeigen
d Änderungen der Datei verwerfen (Achtung, unwiderruflich!)
shift+D Datei aus Working Tree löschen
e Datei im Editor öffnen
o Datei mit Standardprogramm öffnen
i Datei zu .gitignore hinzufügen / Eintrag entfernen
p Patch – interaktiv nur Teile einer Datei stagen

Patch-Modus (p)

Nach Drücken von p auf einer Datei:

Taste Aktion
Leertaste Aktuellen Hunks stagen/unstagen
j / k Zwischen Hunks navigieren
v Selektionsmodus (visuell) – dann Leertaste für Auswahl
tab In Diff-Fenster springen

Panel 3: Branches

Taste Aktion
Leertaste Branch auschecken
n Neuen Branch erstellen
c Branch mit Namen umbenennen (checkout)
shift+C Branch umbenennen (ohne checkout)
d Branch löschen
shift+D Branch force-löschen (auch wenn nicht gemerged)
m Aktuellen Branch in ausgewählten Branch mergen
M Merge ohne Fast-Forward
enter Commits des Branches anzeigen
r Branch rebasen auf ausgewählten Branch
f Fast-Forward des ausgewählten Branches
T Tag erstellen
g Branch zurücksetzen (reset) auf ausgewählten

Panel 4: Commits (im Branch-Panel mit Enter)

Taste Aktion
s Squash down – Commit in den darunterliegenden squashen
shift+S Fixup – Commit in darunterliegenden squashen, Message verwerfen
r Rebase auf diesen Commit starten / Rebase fortsetzen
R Commit-Message mit git commit --amend bearbeiten
A Commit mit Staged-Änderungen amendend (git commit --amend)
t Commit rückgängig machen (revert)
shift+T Revert erstellen, ohne zu commiten
ctrl+j / ctrl+k Commit in der Liste nach unten/oben verschieben (interaktiv)
g Reset auf diesen Commit – Optionen:
soft – HEAD verschieben, Index bleibt
mixed (default) – HEAD + Index verschieben
hard – HEAD + Index + Working Tree (Achtung, verwirft!)
d Commit löschen (während Rebase)
shift+D Commits ab hier löschen (während Rebase)
f Fixup-Commit erstellen
shift+F Fixup-Commit für einen bestimmten Commit
enter Dateien des Commits anzeigen
ctrl+l Commit-Log anzeigen
shift+C Commit kopieren (cherry-pick)
v Commits in die Zwischenablage kopieren

Panel 5: Stash

Taste Aktion
Leertaste Stash anwenden
g Stash anwenden und danach löschen (pop)
d Stash löschen
enter Dateien des Stashs anzeigen
n Neuen Stash mit Nachricht erstellen
s Schnell-Stash (ohne Nachricht)

Reflog

Mit ctrl+o (oder im Commits-Panel) öffnest du das Reflog – alle HEAD-Bewegungen.

Taste Aktion
enter Reflog-Eintrag anzeigen
g Auf diesen Eintrag zurücksetzen (soft/mixed/hard)
ctrl+o Reflog schließen

Remote / Push & Pull

Taste Aktion
p Push (im Branch- oder Commits-Panel)
shift+P Force-Push (--force-with-lease)
shift+F Fetch (alle Remotes)
ctrl+p Pull (fetch + merge)
shift+ctrl+P Pull mit Rebase

Undo / Redo

Lazygit hat eine eingebaute Undo-Funktion – ein Lebensretter!

Taste Aktion
z Letzte Git-Aktion rückgängig machen (undo)
shift+Z Rückgängig gemachte Aktion wiederholen (redo)

Funktioniert für: Commit, Stash, Branch-Reset, Checkout, Cherry-Pick, Revert, Merge ...


Konflikte lösen

Im Merge-Konflikt-Fall zeigt Lazygit die betroffenen Dateien.

Taste Aktion
Leertaste Datei als "ours" markieren (eigene Version)
b Datei als "theirs" markieren (fremde Version)
↑ / ↓ Hunk auswählen
Leertaste Hunk auswählen (ours/theirs oder beide)
a Alle Hunks auf einmal akzeptieren
shift+M Merge-Tool für diese Datei öffnen

Submodule

Taste Aktion
enter In Submodule wechseln (öffnet neue Lazygit-Instanz)
i Submodule init
u Submodule updaten
n Submodule hinzufügen

Worktrees

Taste Aktion
n Neues Worktree erstellen
enter In Worktree wechseln
d Worktree löschen

Tipps & häufige Workflows

Änderungen committen

1. j/k → Datei auswählen
2. Leertaste → Stagen
3. c → Commit-Message schreiben, Enter
4. p → Pushen

Letzten Commit ändern (amend)

1. a → Alle Dateien stagen
2. shift+A → Amend (fügt Staged-Änderungen zum letzten Commit hinzu)

Branch erstellen und wechseln

1. 3 → Branch-Panel
2. n → Neuen Branch, Namen eingeben, Enter

Commits zusammenfassen (squash)

1. 4 → Commits-Panel
2. j/k → Commit auswählen (der, der in den darunterliegenden gesquasht werden soll)
3. s → Squash

Commit rückgängig machen

1. 4 → Commits-Panel
2. g → "reset"
3. soft → HEAD verschieben, Änderungen bleiben im Index

Falls du es dir anders überlegst: z (undo).

Interaktives Rebase

1. 4 → Commits-Panel
2. r auf einem älteren Commit → Rebase starten
3. j/k → Commits auswählen, dann s/f/d zum Squashen/Fixen/Löschen
4. r → Rebase fortsetzen

Konfiguration

Die Konfigurationsdatei liegt unter:

  • Linux/macOS: ~/.config/lazygit/config.yml
  • Windows: %APPDATA%/lazygit/config.yml

Beispiel für ein nützliches Config-Snippet:

gui:
  theme:
    activeBorderColor:
      - '#89b4fa'
      - bold
    inactiveBorderColor:
      - '#a6adc8'
  nerdFontsVersion: "3"

git:
  paging:
    colorArg: always
    pager: delta --dark --paging=never

  # Commit-Konvention für Merge-Commits
  commitPrefixes:
    my_project:
      pattern: "^(\\w+\\/\\w+-\\d+)"
      replace: "[$1] "

Fazit

Lazygit macht Git massiv schneller: Du siehst Diff, Branches, Commits und Stashes gleichzeitig, stagen mit Leertaste, commiten mit c, pushen mit p. Kein git status-Tippen mehr, kein git log --oneline-Starren.

Die beiden wichtigsten Tasten: z für Undo und ? für Hilfe.