
Lazygit is a simple terminal UI for git commands that makes common git operations fast and visual.

## Features

- **Visual staging** - Stage/unstage files with spacebar
- **Branch management** - Create, checkout, merge branches easily
- **Conflict resolution** - Interactive merge conflict handling
- **Commit history** - Browse and search commits
- **Stash management** - View and apply stashes
- **Custom commands** - Add your own keybindings

## Setup

Install via package manager:

```bash
# Ubuntu/Debian
sudo add-apt-repository ppa:lazygit-team/release
sudo apt update
sudo apt install lazygit

# Arch Linux
sudo pacman -S lazygit

# macOS
brew install lazygit

# Via mise
mise install lazygit
```

## Launching

```bash
lazygit
```

Or from within a git repo:

```bash
lg  # If you have an alias
```

## Key Bindings

### Global

| Key | Action |
|-----|--------|
| `?` | Help |
| `q` | Quit |
| `1-5` | Switch panel (Status, Files, Local Branches, Commits, Stash) |
| `R` | Refresh |

### Files Panel

| Key | Action |
|-----|--------|
| `Space` | Stage/unstage |
| `d` | Discard changes |
| `a` | Stage all |
| `A` | Unstage all |
| `c` | Commit |
| `C` | Commit with editor |
| `e` | Edit file |

### Branches Panel

| Key | Action |
|-----|--------|
| `c` | Checkout |
| `n` | New branch |
| `m` | Merge |
| `r` | Rebase |
| `d` | Delete |

### Commits Panel

| Key | Action |
|-----|--------|
| `s` | Squash |
| `r` | Reword |
| `d` | Drop |
| `e` | Edit |
| `p` | Pick |

## Custom Commands

Add custom commands in `~/.config/lazygit/config.yml`:

```yaml
customCommands:
  - key: 'f'
    context: 'files'
    description: 'Fixup commit'
    command: 'git commit --fixup {{.SelectedLocalCommit.Sha}}'
    subprocess: true
```

## See Also

<div class="embed-card">
  <a href="/git/" class="embed-card-link">
    <div class="embed-card-content">
      <div class="embed-card-title">Git Configuration</div>
      <div class="embed-card-description">Git configuration with aliases, delta for diffs, and work/personal separation</div>
      <div class="embed-card-meta">Feb 7, 2026</div>
    </div>
  </a>
</div>


<div class="embed-card">
  <a href="/gitui/" class="embed-card-link">
    <div class="embed-card-content">
      <div class="embed-card-title">gitui</div>
      <div class="embed-card-description">gitui - a blazing-fast terminal UI for git</div>
      <div class="embed-card-meta">Feb 7, 2026</div>
    </div>
  </a>
</div>


<div class="embed-card">
  <a href="/delta/" class="embed-card-link">
    <div class="embed-card-content">
      <div class="embed-card-title">Delta</div>
      <div class="embed-card-description">Delta - syntax-highlighting pager for git and diff output</div>
      <div class="embed-card-meta">Feb 7, 2026</div>
    </div>
  </a>
</div>


<div class="embed-card embed-card-external">
  <a href="https://github.com/jesseduffield/lazygit" class="embed-card-link" target="_blank" rel="noopener noreferrer">
    <div class="embed-card-image">
      <img src="https://opengraph.githubassets.com/82349f5c5216b21086c8d33ac2facf9bc67141241711b8812a6a693ea295b93c/jesseduffield/lazygit" alt="" loading="lazy">
    </div>
    <div class="embed-card-content">
      <div class="embed-card-title">GitHub - jesseduffield/lazygit: simple terminal UI for git commands</div>
      <div class="embed-card-description">simple terminal UI for git commands. Contribute to jesseduffield/lazygit development by creating an account on GitHub.</div>
      <div class="embed-card-meta">GitHub &middot; github.com</div>
    </div>
  </a>
</div>

