Blazing 💥 fast terminal-ui for git written in rust 🦀
Go to file
2020-03-27 09:49:57 +01:00
.github/workflows fail on clippy warnings 2020-03-27 00:50:02 +01:00
.vscode update in a loop 2020-03-16 23:03:13 +01:00
assets some cleanup 2020-03-27 01:52:12 +01:00
asyncgit clamp scroll position to valid range 2020-03-27 09:49:57 +01:00
scopetime stricter warning leves 2020-03-26 13:26:40 +01:00
src clamp scroll position to valid range 2020-03-27 09:49:57 +01:00
.gitignore update ignore 2020-03-19 14:22:02 +01:00
Cargo.lock prep for release 2020-03-27 01:57:41 +01:00
Cargo.toml fix weblink 2020-03-27 02:05:57 +01:00
LICENSE.md add license 2020-03-16 15:42:56 +01:00
Makefile fix more clippy 2020-03-27 01:11:15 +01:00
README.md readme 2020-03-27 01:55:26 +01:00
rustfmt.toml formating to shorter lines 2020-03-18 15:14:13 +01:00

gitui

CI crates MIT LOC

blazing fast terminal-ui for git written in rust

img

features

  • fast key only control
  • inspect changes
  • (un)stage files
  • revert/reset files
  • commit changes
  • scalable ui layout
  • async input polling and
  • async git API for fluid control

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, therefore I do not distribute binary versions yet, however feel free to build gitui and let me know what you think!

requirements

install rust/cargo: https://www.rust-lang.org/tools/install

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 to ~/.gitui/gitui.log:

GITUI_LOGGING=true gitui

todo for 0.1 (first release)

  • fix: diff broken at end of file
  • fix: reset unstaged file also resets staged hunks
  • better help command
  • -> fix: dont show scroll option when any popup open
  • confirm destructive commands (revert/reset)
  • (un)staging selected hunks
  • publish as homebrew-tap

inspiration