686 lines
22 KiB
HTML
686 lines
22 KiB
HTML
<html lang="de">
|
||
<head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<title>Lazygit – Der Terminal-Git-Client – Hugo Docker CMS</title>
|
||
<meta name="description" content="Lazygit – Der Terminal-Git-Client Lazygit ist ein schneller, terminalbasierter Git-Client mit TUI (Terminal User Interface). Du steuerst alles per Tastatur und …">
|
||
|
||
|
||
<meta property="og:title" content="Lazygit – Der Terminal-Git-Client – Hugo Docker CMS">
|
||
<meta property="og:description" content="Lazygit – Der Terminal-Git-Client Lazygit ist ein schneller, terminalbasierter Git-Client mit TUI (Terminal User Interface). Du steuerst alles per Tastatur und …">
|
||
<meta property="og:type" content="article">
|
||
<meta property="og:url" content="https://localhost:1313/lazygit/">
|
||
<meta property="og:site_name" content="Hugo Docker CMS">
|
||
|
||
|
||
|
||
<link rel="stylesheet" href="/css/main.min.css">
|
||
|
||
|
||
|
||
<script src="/js/search.min.868f9708373e89ca72730cc71884718dc463b495c2a72c24a6d6f48e64000709.js" defer></script>
|
||
|
||
|
||
|
||
|
||
</head>
|
||
<body>
|
||
<header>
|
||
<a href="/" class="logo">Hugo Docker CMS</a>
|
||
<div class="search">
|
||
<input
|
||
type="search"
|
||
id="search-input"
|
||
placeholder="Suchen…"
|
||
autocomplete="off"
|
||
aria-label="Suche"
|
||
aria-controls="search-results"
|
||
aria-expanded="false">
|
||
<div id="search-results" class="search-results" hidden></div>
|
||
</div>
|
||
|
||
<nav aria-label="Breadcrumb">
|
||
<a href="/">← Start</a>
|
||
</nav>
|
||
|
||
</header>
|
||
|
||
<main data-pagefind-body>
|
||
|
||
<article>
|
||
<header class="article-header">
|
||
<h1>Lazygit – Der Terminal-Git-Client</h1>
|
||
<time datetime="2026-09-08">08.09.2026</time>
|
||
|
||
</header>
|
||
|
||
<details class="toc" >
|
||
<summary>Inhaltsverzeichnis</summary>
|
||
<nav id="TableOfContents">
|
||
<ul>
|
||
<li><a href="#installation">Installation</a></li>
|
||
<li><a href="#navigation-global">Navigation (global)</a></li>
|
||
<li><a href="#panel-1-status-ganz-links">Panel 1: Status (ganz links)</a></li>
|
||
<li><a href="#panel-2-dateien--working-tree">Panel 2: Dateien / Working Tree</a>
|
||
<ul>
|
||
<li><a href="#patch-modus-p">Patch-Modus (<code>p</code>)</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="#panel-3-branches">Panel 3: Branches</a></li>
|
||
<li><a href="#panel-4-commits-im-branch-panel-mit-enter">Panel 4: Commits (im Branch-Panel mit Enter)</a></li>
|
||
<li><a href="#panel-5-stash">Panel 5: Stash</a></li>
|
||
<li><a href="#reflog">Reflog</a></li>
|
||
<li><a href="#remote--push--pull">Remote / Push & Pull</a></li>
|
||
<li><a href="#undo--redo">Undo / Redo</a></li>
|
||
<li><a href="#konflikte-lösen">Konflikte lösen</a></li>
|
||
<li><a href="#submodule">Submodule</a></li>
|
||
<li><a href="#worktrees">Worktrees</a></li>
|
||
<li><a href="#tipps--häufige-workflows">Tipps & häufige Workflows</a>
|
||
<ul>
|
||
<li><a href="#änderungen-committen">Änderungen committen</a></li>
|
||
<li><a href="#letzten-commit-ändern-amend">Letzten Commit ändern (amend)</a></li>
|
||
<li><a href="#branch-erstellen-und-wechseln">Branch erstellen und wechseln</a></li>
|
||
<li><a href="#commits-zusammenfassen-squash">Commits zusammenfassen (squash)</a></li>
|
||
<li><a href="#commit-rückgängig-machen">Commit rückgängig machen</a></li>
|
||
<li><a href="#interaktives-rebase">Interaktives Rebase</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="#konfiguration">Konfiguration</a></li>
|
||
<li><a href="#fazit">Fazit</a></li>
|
||
</ul>
|
||
</nav>
|
||
</details>
|
||
|
||
<div class="content">
|
||
<h1 id="lazygit--der-terminal-git-client">Lazygit – Der Terminal-Git-Client</h1>
|
||
<p>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 <code>git</code>-Befehlen mehr.</p>
|
||
<h2 id="installation">Installation</h2>
|
||
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Arch / Manjaro</span>
|
||
</span></span><span class="line"><span class="cl">sudo pacman -S lazygit
|
||
</span></span><span class="line"><span class="cl">
|
||
</span></span><span class="line"><span class="cl"><span class="c1"># Ubuntu / Debian</span>
|
||
</span></span><span class="line"><span class="cl"><span class="nv">LAZYGIT_VERSION</span><span class="o">=</span><span class="k">$(</span>curl -s <span class="s2">"https://api.github.com/repos/jesseduffield/lazygit/releases/latest"</span> <span class="p">|</span> grep -Po <span class="s1">'"tag_name": "v\K[^"]*'</span><span class="k">)</span>
|
||
</span></span><span class="line"><span class="cl">curl -Lo lazygit.tar.gz <span class="s2">"https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_</span><span class="si">${</span><span class="nv">LAZYGIT_VERSION</span><span class="si">}</span><span class="s2">_Linux_x86_64.tar.gz"</span>
|
||
</span></span><span class="line"><span class="cl">tar xf lazygit.tar.gz lazygit
|
||
</span></span><span class="line"><span class="cl">sudo install lazygit /usr/local/bin
|
||
</span></span><span class="line"><span class="cl">
|
||
</span></span><span class="line"><span class="cl"><span class="c1"># macOS</span>
|
||
</span></span><span class="line"><span class="cl">brew install lazygit
|
||
</span></span><span class="line"><span class="cl">
|
||
</span></span><span class="line"><span class="cl"><span class="c1"># Windows (mit Winget)</span>
|
||
</span></span><span class="line"><span class="cl">winget install JesseDuffield.lazygit
|
||
</span></span></code></pre></div><p>Start: Einfach <code>lazygit</code> im Repository-Verzeichnis ausführen.</p>
|
||
<hr>
|
||
<h2 id="navigation-global">Navigation (global)</h2>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Taste</th>
|
||
<th>Aktion</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>h</code> / <code>l</code></td>
|
||
<td>Zwischen Panels wechseln (links/rechts)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>j</code> / <code>k</code></td>
|
||
<td>In Liste nach unten/oben</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>↑</code> / <code>↓</code></td>
|
||
<td>Dasselbe wie j/k</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>g</code></td>
|
||
<td>Zum Anfang der Liste</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>shift+G</code></td>
|
||
<td>Zum Ende der Liste</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>/</code></td>
|
||
<td>Suchen (im aktuellen Panel)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>q</code></td>
|
||
<td>Lazygit beenden</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>esc</code></td>
|
||
<td>Zurück / Aktion abbrechen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>?</code></td>
|
||
<td>Hilfe anzeigen (alle Tasten)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>tab</code></td>
|
||
<td>In neuem Panel: zwischen Bereichen springen</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<hr>
|
||
<h2 id="panel-1-status-ganz-links">Panel 1: Status (ganz links)</h2>
|
||
<p>Zeigt, ob du im normalen Modus, im Rebase, Merge-Konflikt etc. bist.
|
||
Normalerweise springst du mit <code>1</code>-<code>5</code> direkt in die anderen Panels.</p>
|
||
<hr>
|
||
<h2 id="panel-2-dateien--working-tree">Panel 2: Dateien / Working Tree</h2>
|
||
<p>Hier siehst du alle geänderten, neuen und gelöschten Dateien.</p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Taste</th>
|
||
<th>Aktion</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>Leertaste</code></td>
|
||
<td>Datei stagen/unstagen (markiert)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>a</code></td>
|
||
<td>Alle Dateien stagen/unstagen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>c</code></td>
|
||
<td>Commit erstellen (öffnet Editor für Commit-Message)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>shift+C</code></td>
|
||
<td>Commit mit Editor (git commit)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>enter</code></td>
|
||
<td>Diff der ausgewählten Datei anzeigen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>d</code></td>
|
||
<td>Änderungen der Datei verwerfen (Achtung, unwiderruflich!)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>shift+D</code></td>
|
||
<td>Datei aus Working Tree löschen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>e</code></td>
|
||
<td>Datei im Editor öffnen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>o</code></td>
|
||
<td>Datei mit Standardprogramm öffnen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>i</code></td>
|
||
<td>Datei zu .gitignore hinzufügen / Eintrag entfernen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>p</code></td>
|
||
<td>Patch – interaktiv nur Teile einer Datei stagen</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<h3 id="patch-modus-p">Patch-Modus (<code>p</code>)</h3>
|
||
<p>Nach Drücken von <code>p</code> auf einer Datei:</p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Taste</th>
|
||
<th>Aktion</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>Leertaste</code></td>
|
||
<td>Aktuellen Hunks stagen/unstagen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>j</code> / <code>k</code></td>
|
||
<td>Zwischen Hunks navigieren</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>v</code></td>
|
||
<td>Selektionsmodus (visuell) – dann Leertaste für Auswahl</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>tab</code></td>
|
||
<td>In Diff-Fenster springen</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<hr>
|
||
<h2 id="panel-3-branches">Panel 3: Branches</h2>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Taste</th>
|
||
<th>Aktion</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>Leertaste</code></td>
|
||
<td>Branch auschecken</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>n</code></td>
|
||
<td>Neuen Branch erstellen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>c</code></td>
|
||
<td>Branch mit Namen umbenennen (checkout)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>shift+C</code></td>
|
||
<td>Branch umbenennen (ohne checkout)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>d</code></td>
|
||
<td>Branch löschen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>shift+D</code></td>
|
||
<td>Branch force-löschen (auch wenn nicht gemerged)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>m</code></td>
|
||
<td>Aktuellen Branch in ausgewählten Branch mergen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>M</code></td>
|
||
<td>Merge ohne Fast-Forward</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>enter</code></td>
|
||
<td>Commits des Branches anzeigen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>r</code></td>
|
||
<td>Branch rebasen auf ausgewählten Branch</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>f</code></td>
|
||
<td>Fast-Forward des ausgewählten Branches</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>T</code></td>
|
||
<td>Tag erstellen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>g</code></td>
|
||
<td>Branch zurücksetzen (reset) auf ausgewählten</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<hr>
|
||
<h2 id="panel-4-commits-im-branch-panel-mit-enter">Panel 4: Commits (im Branch-Panel mit Enter)</h2>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Taste</th>
|
||
<th>Aktion</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>s</code></td>
|
||
<td>Squash down – Commit in den darunterliegenden squashen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>shift+S</code></td>
|
||
<td>Fixup – Commit in darunterliegenden squashen, Message verwerfen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>r</code></td>
|
||
<td>Rebase auf diesen Commit starten / Rebase fortsetzen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>R</code></td>
|
||
<td>Commit-Message mit <code>git commit --amend</code> bearbeiten</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>A</code></td>
|
||
<td>Commit mit Staged-Änderungen amendend (git commit –amend)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>t</code></td>
|
||
<td>Commit rückgängig machen (revert)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>shift+T</code></td>
|
||
<td>Revert erstellen, ohne zu commiten</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>ctrl+j</code> / <code>ctrl+k</code></td>
|
||
<td>Commit in der Liste nach unten/oben verschieben (interaktiv)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>g</code></td>
|
||
<td>Reset auf diesen Commit – Optionen:</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td><code>soft</code> – HEAD verschieben, Index bleibt</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td><code>mixed</code> (default) – HEAD + Index verschieben</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td><code>hard</code> – HEAD + Index + Working Tree (Achtung, verwirft!)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>d</code></td>
|
||
<td>Commit löschen (während Rebase)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>shift+D</code></td>
|
||
<td>Commits ab hier löschen (während Rebase)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>f</code></td>
|
||
<td>Fixup-Commit erstellen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>shift+F</code></td>
|
||
<td>Fixup-Commit für einen bestimmten Commit</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>enter</code></td>
|
||
<td>Dateien des Commits anzeigen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>ctrl+l</code></td>
|
||
<td>Commit-Log anzeigen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>shift+C</code></td>
|
||
<td>Commit kopieren (cherry-pick)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>v</code></td>
|
||
<td>Commits in die Zwischenablage kopieren</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<hr>
|
||
<h2 id="panel-5-stash">Panel 5: Stash</h2>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Taste</th>
|
||
<th>Aktion</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>Leertaste</code></td>
|
||
<td>Stash anwenden</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>g</code></td>
|
||
<td>Stash anwenden und danach löschen (pop)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>d</code></td>
|
||
<td>Stash löschen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>enter</code></td>
|
||
<td>Dateien des Stashs anzeigen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>n</code></td>
|
||
<td>Neuen Stash mit Nachricht erstellen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>s</code></td>
|
||
<td>Schnell-Stash (ohne Nachricht)</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<hr>
|
||
<h2 id="reflog">Reflog</h2>
|
||
<p>Mit <code>ctrl+o</code> (oder im Commits-Panel) öffnest du das Reflog – alle HEAD-Bewegungen.</p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Taste</th>
|
||
<th>Aktion</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>enter</code></td>
|
||
<td>Reflog-Eintrag anzeigen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>g</code></td>
|
||
<td>Auf diesen Eintrag zurücksetzen (soft/mixed/hard)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>ctrl+o</code></td>
|
||
<td>Reflog schließen</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<hr>
|
||
<h2 id="remote--push--pull">Remote / Push & Pull</h2>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Taste</th>
|
||
<th>Aktion</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>p</code></td>
|
||
<td>Push (im Branch- oder Commits-Panel)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>shift+P</code></td>
|
||
<td>Force-Push (<code>--force-with-lease</code>)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>shift+F</code></td>
|
||
<td>Fetch (alle Remotes)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>ctrl+p</code></td>
|
||
<td>Pull (fetch + merge)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>shift+ctrl+P</code></td>
|
||
<td>Pull mit Rebase</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<hr>
|
||
<h2 id="undo--redo">Undo / Redo</h2>
|
||
<p>Lazygit hat eine eingebaute Undo-Funktion – ein Lebensretter!</p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Taste</th>
|
||
<th>Aktion</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>z</code></td>
|
||
<td>Letzte Git-Aktion rückgängig machen (undo)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>shift+Z</code></td>
|
||
<td>Rückgängig gemachte Aktion wiederholen (redo)</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<p>Funktioniert für: Commit, Stash, Branch-Reset, Checkout, Cherry-Pick, Revert,
|
||
Merge …</p>
|
||
<hr>
|
||
<h2 id="konflikte-lösen">Konflikte lösen</h2>
|
||
<p>Im Merge-Konflikt-Fall zeigt Lazygit die betroffenen Dateien.</p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Taste</th>
|
||
<th>Aktion</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>Leertaste</code></td>
|
||
<td>Datei als “ours” markieren (eigene Version)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>b</code></td>
|
||
<td>Datei als “theirs” markieren (fremde Version)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>↑</code> / <code>↓</code></td>
|
||
<td>Hunk auswählen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>Leertaste</code></td>
|
||
<td>Hunk auswählen (ours/theirs oder beide)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>a</code></td>
|
||
<td>Alle Hunks auf einmal akzeptieren</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>shift+M</code></td>
|
||
<td>Merge-Tool für diese Datei öffnen</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<hr>
|
||
<h2 id="submodule">Submodule</h2>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Taste</th>
|
||
<th>Aktion</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>enter</code></td>
|
||
<td>In Submodule wechseln (öffnet neue Lazygit-Instanz)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>i</code></td>
|
||
<td>Submodule init</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>u</code></td>
|
||
<td>Submodule updaten</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>n</code></td>
|
||
<td>Submodule hinzufügen</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<hr>
|
||
<h2 id="worktrees">Worktrees</h2>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Taste</th>
|
||
<th>Aktion</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>n</code></td>
|
||
<td>Neues Worktree erstellen</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>enter</code></td>
|
||
<td>In Worktree wechseln</td>
|
||
</tr>
|
||
<tr>
|
||
<td><code>d</code></td>
|
||
<td>Worktree löschen</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<hr>
|
||
<h2 id="tipps--häufige-workflows">Tipps & häufige Workflows</h2>
|
||
<h3 id="änderungen-committen">Änderungen committen</h3>
|
||
<pre tabindex="0"><code>1. j/k → Datei auswählen
|
||
2. Leertaste → Stagen
|
||
3. c → Commit-Message schreiben, Enter
|
||
4. p → Pushen
|
||
</code></pre><h3 id="letzten-commit-ändern-amend">Letzten Commit ändern (amend)</h3>
|
||
<pre tabindex="0"><code>1. a → Alle Dateien stagen
|
||
2. shift+A → Amend (fügt Staged-Änderungen zum letzten Commit hinzu)
|
||
</code></pre><h3 id="branch-erstellen-und-wechseln">Branch erstellen und wechseln</h3>
|
||
<pre tabindex="0"><code>1. 3 → Branch-Panel
|
||
2. n → Neuen Branch, Namen eingeben, Enter
|
||
</code></pre><h3 id="commits-zusammenfassen-squash">Commits zusammenfassen (squash)</h3>
|
||
<pre tabindex="0"><code>1. 4 → Commits-Panel
|
||
2. j/k → Commit auswählen (der, der in den darunterliegenden gesquasht werden soll)
|
||
3. s → Squash
|
||
</code></pre><h3 id="commit-rückgängig-machen">Commit rückgängig machen</h3>
|
||
<pre tabindex="0"><code>1. 4 → Commits-Panel
|
||
2. g → "reset"
|
||
3. soft → HEAD verschieben, Änderungen bleiben im Index
|
||
</code></pre><p>Falls du es dir anders überlegst: <code>z</code> (undo).</p>
|
||
<h3 id="interaktives-rebase">Interaktives Rebase</h3>
|
||
<pre tabindex="0"><code>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
|
||
</code></pre><hr>
|
||
<h2 id="konfiguration">Konfiguration</h2>
|
||
<p>Die Konfigurationsdatei liegt unter:</p>
|
||
<ul>
|
||
<li>Linux/macOS: <code>~/.config/lazygit/config.yml</code></li>
|
||
<li>Windows: <code>%APPDATA%/lazygit/config.yml</code></li>
|
||
</ul>
|
||
<p>Beispiel für ein nützliches Config-Snippet:</p>
|
||
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nt">gui</span><span class="p">:</span><span class="w">
|
||
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">theme</span><span class="p">:</span><span class="w">
|
||
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">activeBorderColor</span><span class="p">:</span><span class="w">
|
||
</span></span></span><span class="line"><span class="cl"><span class="w"> </span>- <span class="s1">'#89b4fa'</span><span class="w">
|
||
</span></span></span><span class="line"><span class="cl"><span class="w"> </span>- <span class="l">bold</span><span class="w">
|
||
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">inactiveBorderColor</span><span class="p">:</span><span class="w">
|
||
</span></span></span><span class="line"><span class="cl"><span class="w"> </span>- <span class="s1">'#a6adc8'</span><span class="w">
|
||
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">nerdFontsVersion</span><span class="p">:</span><span class="w"> </span><span class="s2">"3"</span><span class="w">
|
||
</span></span></span><span class="line"><span class="cl"><span class="w">
|
||
</span></span></span><span class="line"><span class="cl"><span class="nt">git</span><span class="p">:</span><span class="w">
|
||
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">paging</span><span class="p">:</span><span class="w">
|
||
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">colorArg</span><span class="p">:</span><span class="w"> </span><span class="l">always</span><span class="w">
|
||
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">pager</span><span class="p">:</span><span class="w"> </span><span class="l">delta --dark --paging=never</span><span class="w">
|
||
</span></span></span><span class="line"><span class="cl"><span class="w">
|
||
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="c"># Commit-Konvention für Merge-Commits</span><span class="w">
|
||
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">commitPrefixes</span><span class="p">:</span><span class="w">
|
||
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">my_project</span><span class="p">:</span><span class="w">
|
||
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">pattern</span><span class="p">:</span><span class="w"> </span><span class="s2">"^(\\w+\\/\\w+-\\d+)"</span><span class="w">
|
||
</span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="nt">replace</span><span class="p">:</span><span class="w"> </span><span class="s2">"[$1] "</span><span class="w">
|
||
</span></span></span></code></pre></div><hr>
|
||
<h2 id="fazit">Fazit</h2>
|
||
<p>Lazygit macht Git massiv schneller: Du siehst Diff, Branches, Commits und
|
||
Stashes gleichzeitig, stagen mit Leertaste, commiten mit <code>c</code>, pushen mit <code>p</code>.
|
||
Kein <code>git status</code>-Tippen mehr, kein <code>git log --oneline</code>-Starren.</p>
|
||
<p>Die beiden wichtigsten Tasten: <code>z</code> für Undo und <code>?</code> für Hilfe.</p>
|
||
|
||
</div>
|
||
</article>
|
||
|
||
</main>
|
||
<footer>
|
||
<p>Hugo Docker CMS – <a href="/index.xml">RSS</a></p>
|
||
</footer>
|
||
</body>
|
||
</html> |