LAZYGIT(1)

πŸ“¦
version 0.57.0 Β· 3 versions
, in ubuntu resolute, ubuntu stonking

πŸ’… LAZYGIT(1) β€” like, the manual, but make it make sense

okay bestie, so this is lazygit(1) β€” a General Commands Manual entry, section 1, the whole thing, and I'm about to walk you through it like we're texting at 2am. πŸ¦‹


✨ NAME ✨

lazygit β€” a simple terminal UI for git commands. that's it. that's the vibe. πŸ‘‘


🌸 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]

like, that's the shape of it. run lazygit, optionally hand it a panel name, optionally hand it some flags, and go off. πŸ’–


πŸŽ€ DESCRIPTION πŸŽ€

lazygit is a simple terminal UI for git commands that makes git easier to use. no cap. it gives you an interactive interface so you can do all the normal git stuff without, y'know, memorising every incantation. 🧚

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

and the way that all features of lazygit can be easily accessed using arrow keys and intuitive keystrokes?? literally iconic. no memorisation arc required. 🫢


πŸ’… OPTIONS πŸ’…

πŸ“ Positional Arguments

  • git-arg β€” the panel to focus upon opening lazygit. accepted values (based on git terminology): status, branch, log, stash. it gets ignored if the --filter argument is passed. so like, pick one, bestie.

🌈 Flags

  • -h, --help β€” displays help with available flags, subcommands, and positional value parameters. your lil map. πŸ—ΊοΈ
  • -v, --version β€” print the current version of lazygit.
  • -p, --path path β€” path of the git repository. this is equivalent to --work-tree=path and --git-dir=path/.git. two-for-one deal. πŸ’–
  • -f, --filter path β€” path to filter on in git log -- <path>. when you're in filter mode, the commits, reflog, and stash are filtered based on the given path, and some operations are restricted. so it's giving "focused mode" energy, not full power. πŸ™ˆ
  • -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. two tabs, one mystery solved. πŸ”₯
  • --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). yes, comma-separated. yes, more than one. slay. ✨
  • -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. yes, the whole thing, one keystroke, main character energy.

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). 🫢


okay so that's the whole page, every last flag and file and keystroke, nothing skipped, no cap. πŸŽ€

this was lazygit 0.57.0+ds1-1, dated December 9, 2025, and it lives at LAZYGIT(1). go forth and stage things. β­πŸ’…πŸ¦‹

πŸ“¦ where this page comes from