I’ve long been a GUI guy for using Git (🔗). It just makes sense to me to clearly visually see an manipulate the files I’m staging and committing, seeing nice lists of current branches and PRs at a glance, and seeing the diffs and conflicts in a dedicated UI. But I get it, a lot of developers are just terminal people. They are very comfortable there and can do anything I can do (probably better).
I just found out about Lazygit, and am finding it a fascinating in-between of command-line Git and GUI Git. A TUI, if you will, a Terminal User Interface, which I’m just now understanding is a thing. Some people totally love it, and I’m giving it a bit of a whirl for fun.
![](https://cdn.statically.io/img/i0.wp.com/frontendmasters.com/blog/wp-content/uploads/2024/07/stage_lines-compressed.gif?resize=1024%2C744&ssl=1)
Oh, and speaking of TUIs, if you were interesting in building one, the tools available at charm.sh are pretty mind-blowing.