lazygit README

The project's README from github.com/jesseduffield/lazygit. As one markdown file: README.md.

Special thanks to:

Warp
Warp, the intelligent terminal
Available for macOS and Linux
Visit warp.dev to learn more.


Tuple
Tuple, the premier screen sharing app for developers on macOS and Windows.



Subble
I (Jesse) co-founded Subble to save your company time and money by finding unused and over-provisioned SaaS licences. Check it out!


A simple terminal UI for git commands

GitHub Releases Go Report Card Codacy Badge Codacy Badge golangci-lint GitHub tag homebrew

commit_and_push

Sponsors

Maintenance of this project is made possible by all the contributors and sponsors. If you'd like to sponsor this project and have your avatar or company logo appear below click here. 💙

User avatar: Mark LussierUser avatar: Dean HerbertUser avatar: Peter BjorklundUser avatar: Oliver GüntherUser avatar: Pawan DhananjayUser avatar: User avatar: Carsten GehlingUser avatar: User avatar: Chau TranUser avatar: matejcikUser avatar: theAverageDev (Luca Tumedei)User avatar: User avatar: Aliaksandr StelmachonakUser avatar: Pedro PombeiroUser avatar: Burgy BenjaminUser avatar: Joe KlemmerUser avatar: Tobias LütkeUser avatar: Ben BeaumontUser avatar: User avatar: HollyUser avatar: Tom LanserUser avatar: Casey BoettcherUser avatar: Jeff ForcierUser avatar: User avatar: Maciej T. NowakUser avatar: James HillyerdUser avatar: YuryUser avatar: Olivier reivilibreUser avatar: Braden SteffaniakUser avatar: Jordan GillardUser avatar: SebastianUser avatar: Andy SlezakUser avatar: Martin KockUser avatar: Daniel KokottUser avatar: Jan HeijmansUser avatar: Kevin NowaldUser avatar: Ethan LiUser avatar: Robert ForlerUser avatar: Jan ZenknerUser avatar: User avatar: Frederick MorlockUser avatar: Maximilian LangenfeldUser avatar: User avatar: Neil LambertUser avatar: David Heinemeier HanssonUser avatar: Ethan FischerUser avatar: Terry TaiUser avatar: Adam RoesnerUser avatar: Tim MorganUser avatar: Maksym ShypulniakUser avatar: Kovács ÁdámUser avatar: User avatar: Patricio SerranoUser avatar: KiriUser avatar: Steven MasiniUser avatar: John Even BjørnevikUser avatar: Michael OberstUser avatar: Adam TrepanierUser avatar: Kenth FagerlundUser avatar: Julien TardotUser avatar: Ellord TayagUser avatar: Edgar Post-BuijsUser avatar: Pierre SpringUser avatar: Zac ClayUser avatar: Thomas MüllerUser avatar: Carl AssmannUser avatar: Sergey OgnevUser avatar: Moody LiuUser avatar: Michael HowardUser avatar: Lasse Bloch LauritsenUser avatar: David BrockmanUser avatar: Alexander SlavschikUser avatar: Aidan GaulandUser avatar: Maksym BieńkowskiUser avatar: Joshua WootonnUser avatar: User avatar: Simon Sandvik LeeUser avatar: Thomas GilbertUser avatar: Szymon MuchaUser avatar: Unnawut LeepaisalsuwannaUser avatar: Bret WortmanUser avatar: Simon CardonaUser avatar: André LameirinhasUser avatar: Scott VelezUser avatar: justinUser avatar: MayfieldUser avatar: Soma HolidayUser avatar: bizmythUser avatar: DessalinesUser avatar: Sean Hong(홍성민)User avatar: Alex DreymannUser avatar: Felipe OspinaUser avatar: Riccardo NovagliaUser avatar: rxzUser avatar: Robert BuchbergerUser avatar: housekeeperUser avatar: YuriiUser avatar: Pål Syvertsen StakvikUser avatar: User avatar: Zak El Fassi

Elevator Pitch

Rant time: You've heard it before, git is powerful, but what good is that power when everything is so damn hard to do? Interactive rebasing requires you to edit a goddamn TODO file in your editor? Are you kidding me? To stage part of a file you need to use a command line program to step through each hunk and if a hunk can't be split down any further but contains code you don't want to stage, you have to edit an arcane patch file by hand? Are you KIDDING me?! Sometimes you get asked to stash your changes when switching branches only to realise that after you switch and unstash that there weren't even any conflicts and it would have been fine to just checkout the branch directly? YOU HAVE GOT TO BE KIDDING ME!

If you're a mere mortal like me and you're tired of hearing how powerful git is when in your daily life it's a powerful pain in your ass, lazygit might be for you.

Table of contents

lazygit (jesseduffield/lazygit)

Searching Database…

83.3K ·GitHub
What is this?Lazygit is a simple terminal UI (TUI) for git that lets you stage, commit, rebase, merge and branch through an interactive visual interface instead of memorizing git CLI commands.
Is this a library or a standalone app I run in my terminal?It is a standalone terminal application you launch inside a git repository - it is not a library, and it does not replace git, it just wraps everyday git operations in a visual interface.
How do I install and start using it?Install it through a package manager - Homebrew or MacPorts on macOS, Scoop on Windows, or your Linux distro's manager (Arch, Fedora, Debian/Ubuntu, Void Linux, Solus) - or grab a prebuilt binary from the Releases page, then just run 'lazygit' inside any git repo.
Do I need git installed separately, or does lazygit bundle its own?You need git itself already installed - lazygit is a single Go binary that drives your existing git installation rather than replacing it.
Does it work on Windows too, or only macOS and Linux?It runs on macOS, Linux, and Windows, with dedicated install paths for each, including Scoop for Windows and Homebrew/MacPorts for macOS.
What makes lazygit different from using the git CLI directly?It turns multi-step, fiddly git operations - like hand-editing a rebase TODO file or stepping through diff hunks on the command line - into simple keypresses in a visual UI, removing the friction the author complains about in the README's 'Elevator Pitch'.
Can I undo an action if I mess something up?Yes, lazygit has a built-in Undo feature so you can reverse recent actions directly from the UI without digging through git's reflog.
Does it support advanced operations like bisecting or cherry-picking?Yes, it has dedicated flows for interactive rebase, cherry-picking, bisecting, worktrees, and even custom 'rebase magic' patches.
Can I run my own custom commands from inside lazygit?Yes, it lets you invoke custom commands you define, so you can extend it beyond the built-in git actions.
What are similar projects?slides, gitui, diff-so-fancy, tview, edit, gitflow, gh-dash, git-extras
Size
165.3 MB
Stars
83.3K
Age
8y
Commits · 90 Days