---
name: "lazygit"
section: "1"
platform: "linux"
package: "lazygit"
version: "0.50.0+ds1-1+b2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/lazygit"
---

# lazygit(1)

Simple terminal UI for git commands

## NAME

**lazygit** – Simple terminal UI for git commands

## SYNOPSIS

**lazygit** \[*git-arg*\] \[**-h** \| **--help**\] \[**-v** \| **--version**\] \[**-p** \| **--path** *path*\] \[**-f** \| **--filter** *path*\] \[**-d** \| **--debug**\] \[**-l** \| **--logs**\] \[**---profile**\] \[**-c** \| **---config**\] \[**-cd** \| **---print-config-dir**\] \[**-ucd** \| **---use-config-dir** *dir*\] \[**-w** \| **---work-tree** *path*\] \[**-g** \| **---git-dir** *path*\] \[**-ucf** \| **---use-config-file** *files*\] \[**-sm** \| **---screen-mode** *mode*\]

## DESCRIPTION

**lazygit** is a simple terminal UI for git commands that makes git easier to use.

It provides an interactive interface to perform common git operations such as:

- Viewing and staging files

- Committing changes

- Browsing logs and diffs

- Managing branches and remotes

- Handling stashes

All features of **lazygit** can be easily accessed using arrow keys and intuitive keystrokes.

## OPTIONS

### Positional Arguments

- *git-arg*

  Panel to focus upon opening lazygit. Accepted values (based on git terminology): **status**, **branch**, **log**, **stash**. Ignored if **--filter** argument is passed.

### Flags

- **-h**, **---help**

  Displays help with available flags, subcommands, and positional value parameters.

- **-v**, **---version**

  Print the current version of lazygit.

- **-p**, **---path** *path*

  Path of the git repository. Equivalent to **---work-tree**=*path* and **---git-dir**=*path* */.git*.

- **-f**, **---filter** *path*

  Path to filter on in **git** **log** **--** **\<path\>**. When in filter mode, the commits, reflog, and stash are filtered based on the given path, and some operations are restricted.

- **-d**, **---debug**

  Run in debug mode with logging. Use the LOG\_LEVEL environment variable to set the log level (debug, info, warn, error).

- **-l**, **---logs**

  Tail lazygit logs. Intended for use when **lazygit** **--debug** is running in another terminal tab.

- **---profile**

  Start the profiler and serve it on HTTP port 6060. See */usr/share/doc/lazygit/CONTRIBUTING.md.gz* for more details.

- **-c**, **---config**

  Print the default config.

- **-cd**, **---print-config-dir**

  Print the path to the configuration directory.

- **-ucd**, **---use-config-dir** *dir*

  Override the default configuration directory with the provided directory.

- **-w**, **---work-tree** *path*

  Set the Git **---work-tree** argument.

- **-g**, **---git-dir** *path*

  Set the Git **---git-dir** argument.

- **-ucf**, **---use-config-file** *file1,file2,...*

  Use a comma-separated list of custom config file(s).

- **-sm**, **---screen-mode** *mode*

  Set the initial screen mode, which determines the size of the focused panel. Valid values are: **normal**, **half**, **full**.

## KEYBINDINGS

Default keybindings vary by context. For example:

- **j** **/** **k**

  Move up/down in lists.

- **h** **/** **l**

  Move between panels (left/right).

- **1** **/** **2** **/** **3** **/** **4** **/** **5**

  Focus a specific panel.

- \[**/**\]

  Move between tabs within a panel.

- **s**

  Stage / unstage a file.

- **c**

  Open commit panel.

- **p**

  Push to remote.

- **P**

  Pull from remote.

- **/**

  Search.

- **PgUp** **/** **PgDn**

  Scroll content (e.g. log or diff views).

- **Space**

  Select item or toggle checkbox (e.g. in stash or patch panels).

- **Enter**

  Enter panel or confirm action.

- **Esc**

  Cancel action or close popup.

- **q**

  Quit the application.

To view the full keybindings list, press? in the application.

- You can refer to the following files for full keystrokes:

  */usr/share/doc/lazygit/docs/keybindings/Keybindings\_en.md.gz*

## FILES

- *~/.config/lazygit/config.yml*

  User configuration file. This file defines keybindings, theme settings, git override commands, and more. You can refer to the following file for the complete list of keystrokes:

  - */usr/share/doc/lazygit/docs/Config.md.gz*

  - */usr/share/doc/lazygit/docs/Custom\_Command\_Keybindings.md.gz*

  - */usr/share/doc/lazygit/docs/Custom\_Pagers.md*

- *~/.config/lazygit/state.yml*

  UI layout and persistent state.

## AUTHORS

**lazygit** was written by Jesse Duffield ⟨*jesseduffield@gmail.com*⟩.

This manual was created by Jongmin Kim ⟨*jmkim@debian.org*⟩ for the Debian project (but may be used by others).
