Jesse Duffield LazyGit
19100 GitHub stargazers
91 Total contributors
~3 years Since first release
Hey Jesse, can you tell us about your background? Where did you grow up? How did you venture into programming?
I’m an Australian who jumped from state to state in my childhood, between Victoria, SA, and NSW. I’ve been in Melbourne since late highschool now.
I always loved making board games while I was in primary school and talked to my friends about making video games too, long before I had any idea how to make one. At some point, I stumbled across The Games Factory, a point-and-click framework for building 2D games, and I was hooked from day one.
Although I’ve been procrastinating on my latest ideas for games, I still program in my spare time nearly every day, mostly on dev tools to make my day job as a web dev easier.
What inspired you to build lazygit?
In short: the command-line interface to git sucks. I was aware that plenty of GUIs were available for it, but I did’t want to introduce another bulky GUI to my workflow. I tried an existing terminal UI (TUI), but that didn’t really fit my use case, so I thought: why not make my own TUI that’s just right for me? Lo and behold, I wasn’t the only one yearning for that kind of interface.
Is there a specific reason you chose the Go programming language for the project?
I simply wanted to learn Go because I knew my work would be using it in some upcoming projects. Lazygit was actually my first Go program.
How many other core contributors work on lazygit today, apart from yourself?
About four or five core contributors, but it varies quite a bit.
What problem does lazygit solve for its users?
The git command line is tough to use and costs many keypresses to complete basic tasks. Git GUIs, on the other hand, are often clunky and require switching to a new application. Lazygit strikes a balance between the two extremes, allowing you to perform git commands from the comfort of the terminal, with a UI that lets you see at a glance the state of your repo and the effect of your actions.
How can someone start using lazygit?
What are some major features coming up in lazygit in the next releases?
File-tree navigation, 24-bit colour support, and hopefully, at some point a better integration with Github.
What has been the most frequent feature request from users in the project that you haven't gotten to yet?
There are some cases where international unicode characters cause rendering issues. I’m in the process of upgrading gocui, our underlying rendering framework, which might help with that.
Who is the ideal user of lazygit? What are some use cases of using lazygit?
Somebody who wants to move very fast when writing code, though even juniors who aren’t striving to be speed demons have found value in lazygit’s ease of use. Typical use cases include staging/unstaging files quickly, line-by-line staging, interactive rebases, undoing things in your commit log, and invoking custom scripts.
If someone wants to support the development of lazygit, where can they donate? (GitHub sponsors, Link to Patreon, etc.)

About DeepSource

DeepSource is a static analysis platform that helps developers and engineering teams save time in code reviews and systematically improve code quality and security.