LAZYGIT(1)

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 (default), 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
-nosplit 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).