Skip to main content

lazygit

Expert Lazygit terminal UI assistance covering git staging, interactive rebasing, branch management, cherry-picking, and diff inspection. Use when managing Git repositories with keyboard speed.

Quellinformationen

Repository
G1Joshi/Agent-Skills
Letzte Quellaktivität
1. Oktober 2026 um 16:38
Erkannte Sprache von SKILL.md
Englisch
Sterne
14
Forks
2

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
lazygit
description
Expert Lazygit terminal UI assistance covering git staging, interactive rebasing, branch management, cherry-picking, and diff inspection. Use when managing Git repositories with keyboard speed.
# Lazygit Lazygit is a TUI for Git. It makes complex operations (interactive rebase, partial staging) accessible via intuitive keyboard shortcuts. ## When to Use - **Interactive Terminal Git UI**: Fast, keyboard-centric interface for staging, committing, branching, and rebasing. - **Interactive Rebase & Cherry-Picking**: Squashing, rewording, dropping, and reordering commits visually. - **Partial Line-by-Line Staging**: Staging specific lines or code hunks within modified files via keybindings. - **Git Worktree & Submodule Management**: Switching worktrees and managing submodules without memorizing flags. ## Quick Start ```bash # Launch lazygit inside any Git repository lazygit # Key Navigation: # 1, 2, 3, 4, 5: Jump between Files, Branches, Commits, Stash panels # Space: Stage/unstage selected file or hunk # c: Commit staged changes # P: Push to upstream # p: Pull from upstream # r: Interactive rebase on selected commit ``` ## Core Concepts ### Core Keybindings & Panel Navigation Navigating git repository state with single keystrokes: - `1` through `5`: Jump between panels (`1`: Status, `2`: Files, `3`: Branches, `4`: Commits, `5`: Stash). - `Space`: Stage/unstage selected file or line. - `a`: Stage all modified files. - `c`: Open commit message prompt. - `P`: Push to remote branch (`p`: Pull from remote). - `b`: Create or checkout branch. - `z`: Undo last Git action (uses Git reflog). ### Interactive Rebase & Commit Squashing Streamlining commit histories visually: 1. Press `4` to navigate to the **Commits** panel. 2. Highlight the base commit before your branch changes. 3. Press `i` to start an interactive rebase. 4. Highlight commits to modify: - `s`: Squash into previous commit. - `r`: Reword commit message. - `d`: Drop commit entirely. - `e`: Edit commit contents. 5. Press `m` to open merge / rebase options. ### Custom Commands Configuration (config.yml) Adding customized workflows to Lazygit: ```yaml # ~/.config/lazygit/config.yml gui: theme: selectedLineBgColor: - reverse nerdFontsVersion: "3" customCommands: - key: "P" command: "git push --force-with-lease origin {{.SelectedLocalBranch.Name}}" context: "localBranches" description: "Force push with lease safely" prompts: - type: "confirm" title: "Force Push" body: "Are you sure you want to force push with lease?" ``` ## Common Patterns ### Custom Lazygit Commands **Problem**: Need one-key git workflow actions (e.g. git standup, prune remote branches). **Solution**: Define custom keybindings in `~/.config/lazygit/config.yml`. ```yaml # ~/.config/lazygit/config.yml customCommands: - key: "P" command: "git remote prune origin" context: "remotes" loadingText: "Pruning stale branches..." - key: "b" command: 'git branch --merged | grep -v "\*" | xargs -n 1 git branch -d' context: "branches" prompts: - type: "confirm" title: "Delete Merged Branches" body: "Are you sure you want to delete all merged local branches?" ``` ## Best Practices **Do**: - Use `v` in the diff panel to enter line-by-line staging mode for atomic commits. - Use `git push --force-with-lease` rather than raw `--force` when pushing rebased feature branches. - Press `z` in Lazygit to safely undo accidental rebases or commits using the reflog. - Configure Nerd Fonts support in `config.yml` for clean file and branch iconography. **Don't**: - Perform interactive rebases on shared public branches (`main`, `production`). - Stage files without reviewing the visual diff panel on the right. - Leave abandoned rebases in progress; abort with `m -> Abort rebase`. ## Troubleshooting | Error | Cause | Solution | | :----------------------------------- | :------------------------------------------------------------ | :------------------------------------------------------------------------------------------ | | `lazygit: command not found` | Binary not installed in system PATH. | Install via `brew install lazygit` or Linux package manager. | | `Rebase conflict screen in Lazygit` | Interactive rebase paused due to merge conflict. | Resolve conflicting files, stage with `Space`, and press `m` to choose "Continue rebase". | | `Cannot push: credentials not found` | Git credential helper not configured in terminal environment. | Configure credential cache: `git config --global credential.helper osxkeychain` (or store). | ## References - [Lazygit GitHub](https://github.com/jesseduffield/lazygit)
Auf GitHub ansehen