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 ⟨[email protected]⟩.
This manual was created by Jongmin Kim ⟨[email protected]⟩ for the Debian project (but may be used by others).