.github | ||
.vscode | ||
assets | ||
asyncgit | ||
scopetime | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
CHANGELOG.md | ||
LICENSE.md | ||
Makefile | ||
README.md | ||
rustfmt.toml |
blazing fast terminal-ui for git written in rust
features
- fast and intuitive key only control
- context based help (no need to remember any hot-key)
- inspect/commit changes (incl. hooks: commit-msg/post-commit)
- (un)stage files/hunks, revert/reset files/hunk
- browse commit log
- scalable ui layout
- async input polling and
- async git API for fluid control
known limitations
- core.hooksPath config not supported
- revert/reset hunk in working dir (see #11)
motivation
I do most of my git usage in a terminal but I frequently found myself using git UIs for some use cases like: index/commit, diff, stash and log.
Over the last 2 years my go-to GUI tool for this was fork because it was not bloated, snappy and free. Unfortunately the free part will change soon and so I decided to build a fast & simple terminal tool myself to copy the fork features i am using the most.
installation
For the time being this product is considered alpha and not production ready.
release binaries
see releases
homebrew (macos)
brew install extrawurst/tap/gitui
install from source
requirements
install rust
/cargo
: https://www.rust-lang.org/tools/install
min rust version: 1.42
cargo install
the simplest way to start playing around with gitui
is to have cargo
build/install it:
cargo install gitui
diagnostics:
to enable logging:
GITUI_LOGGING=true gitui
this will log to:
$HOME/Library/Caches/gitui/gitui.log
(mac)$XDG_CACHE_HOME/gitui/gitui.log
(linux usingXDG
)$HOME/.cache/gitui/gitui.log
(linux)
color theme
to change the colors of the program you have to modify theme.ron
file
Ron format located at config path (same as log paths). the list of valid
colors can be found in ColorDef struct. note that rgb colors might not be available
on some platforms.
inspiration
- https://github.com/jesseduffield/lazygit
- https://github.com/jonas/tig
- https://github.com/git-up/GitUp (would be nice to comeup with a way to have the map view available in a terminal tool)