r/CLI • u/Present-Anteater-358 • 3h ago
I missed GitKraken's graph and conflict screen, so I brought them into a git TUI: gitoui
Enable HLS to view with audio, or disable this notification
I live in the terminal, but every time I had a nasty rebase or a conflict, I'd open a GUI. So I forked serie, a Rust project which draws the commit graph as real images in the terminal. Then I kept adding what I was missing until I stopped leaving. Serie is open source under MIT license and my project also.
It's called gitoui. Say "oui" to it, tell me what's missing, or build it with me!
What it does:
- The commit graph drawn as images (Kitty graphics, iTerm2 or Sixel), with a text fallback for other terminals
- Interactive rebase as a list you edit in place: move commits, reword, squash, fixup, drop
- A 3-way conflict editor: ours, theirs or both, per hunk
- Diffs with hunk staging, blame, file history
- GitHub pull requests and issues: read, comment, approve or request changes, merge
- And many more things you have to discover by using it 👀
Similar tools: lazygit, gitui and tig in the terminal, serie (the graph viewer I forked), and GitKraken on the GUI side (no affiliation). What's different in gitoui: the graph is drawn as images rather than text characters, and the GitHub side lives inside the TUI.
AI was used to help during the development of this project. I've been building it since May and I use it every day.
Repo: https://github.com/NayJi7/gitoui (MIT, Rust, Ratatui)
Website: https://nayji7.github.io/gitoui/ (documentation & informations)
One last question: what's the one git task that still sends you back to a GUI?