LinuxCommandLibrary

lazygit

Manage Git repositories within a terminal UI

TLDR

Open Lazygit in the current repository

$ lazygit
copy

Open Lazygit for a specific Git repository
$ lazygit --path [path/to/repository]
copy

Start Lazygit with focus on a specific panel
$ lazygit [status|branch|log|stash|...]
copy

Print the default Lazygit configuration
$ lazygit --config
copy

Tail the Lazygit logs (useful with debug mode in another terminal)
$ lazygit --logs
copy

Run Lazygit in debug mode
$ lazygit --debug
copy

Print the configuration directory
$ lazygit --print-config-dir
copy

SYNOPSIS

lazygit [options] [path_to_repo]

PARAMETERS

-v, --version
    Show the version information.

-h, --help
    Show help message.

--debug
    Run in debug mode. Logs will be saved to a file.

--no-config
    Bypass config loading.

[path_to_repo]
    Optional path to the git repository. If not specified, it uses the current directory.

DESCRIPTION

lazygit is a terminal UI for git repositories, written in Go. It simplifies common git operations by providing an interactive visual interface. Instead of memorizing and typing long git commands, users can perform actions like staging, committing, branching, merging, pulling, and pushing through a menu-driven interface. It's designed to be intuitive and efficient, aiming to speed up the git workflow.

It allows users to visually navigate through the git repository's history, view diffs, resolve merge conflicts, and manage branches with ease. The UI is highly customizable, with configurable keybindings and themes. Lazygit is a powerful tool for both beginners and experienced git users, helping them work more efficiently with git.

Lazygit aims to provide an easy to use and visual alternative to the command line for frequent git operations. It helps reduce the cognitive load associated with using git, allowing users to focus on the code rather than on git commands.

CAVEATS

lazygit requires git to be installed on your system. It's a UI wrapper, not a replacement for git itself.

KEYBINDINGS

lazygit heavily relies on keybindings for navigation and actions. Most common git operations are mapped to single keystrokes, making the workflow faster. Keybindings are configurable.

CUSTOMIZATION

lazygit is highly customizable. You can change the color theme, keybindings, and other settings to fit your workflow and preferences. These configurations can be stored in a config file.

HISTORY

lazygit was created to provide a more accessible and user-friendly way to interact with git. The motivation was to reduce the complexity of git's command-line interface and allow users to visualize their repository's state. The project has gained significant popularity due to its ease of use and efficiency in performing common git tasks. Actively maintained and improved by a vibrant open source community.

SEE ALSO

git(1), tig(1)

Copied to clipboard