Man page - lazygit(1)

Packages contains this manual

Manual


LAZYGIT (1) General Commands Manual 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 , 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). lazygit 0.50.0+ds1-1+b2 April 24, 2025 LAZYGIT (1)