git-tui
An opinionated Git TUI, that makes use of
worktrees rather than plain branches
and provides keybindings for common actions.
Built using Go and git2go (Go bindings for
libgit2) (mostly), on top
of tview.
Currently it clones and manages repository in ~/dev
. For each repository, a
directory is created, with a subdirectory per branch/worktree (including the
main branch).
Dependencies
- Git itself.
- On macOS, git2go/libgit2 depends on pkg-config (
brew install pkg-config
).
Building & Installing
make install
Why
Existing Git TUIs (e.g. LazyGit) are
very unopinionated, don't necessarily support worktrees and don't adapt too well
to my personal workflow. Also: I wanted to see if I could write a TUI in Go.