lazygit

Terminal UI for git commands with visual interface for staging, committing, branching, and repository management

install· Homebrew

Lazygit is a terminal user interface for Git that provides a visual, interactive way to perform Git operations. Instead of typing individual Git commands, users navigate through panels showing the repository status, file changes, commit history, and branch structure using keyboard shortcuts and mouse interactions.

The tool displays unstaged and staged changes in separate panels, allowing users to stage individual lines or hunks of code with simple keystrokes. It supports standard Git workflows including committing, pushing, pulling, branching, merging, rebasing, and stashing. Users can view diffs, browse commit history, manage branches, and resolve merge conflicts through the interface.

Lazygit runs entirely in the terminal and works with any Git repository. It provides keyboard shortcuts for all major Git operations and displays real-time repository status. The interface organizes information into logical panels, making it easier to understand the current state of a repository compared to command-line Git output. This makes it particularly useful for developers who prefer visual interfaces but want to stay in the terminal environment.

Installation

# via Homebrew
brew install lazygit

Lazygit commit and push demo

Alternatives & related tools

add a badge to your README

Maintain lazygit? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/lazygit.svg)](https://www.trmn.sh/tools/lazygit?utm_source=badge)
HTML
<a href="https://www.trmn.sh/tools/lazygit?utm_source=badge"><img src="https://www.trmn.sh/badge/lazygit.svg" alt="Featured on trmn" height="20"></a>