Blazing 💥 fast terminal-ui for git written in rust 🦀
Go to file
2020-04-28 18:00:15 +02:00
.github fix clippy running in cd pipeline 2020-04-28 16:02:12 +02:00
.vscode update in a loop 2020-03-16 23:03:13 +01:00
assets new gif 2020-04-28 16:55:49 +02:00
asyncgit fix folder indenting when a file starting exactly like the folder exists next to it 2020-04-28 17:55:08 +02:00
scopetime Switch to a tree view for changed files list (#37) 2020-04-28 11:15:05 +02:00
src fix folder indenting when a file starting exactly like the folder exists next to it 2020-04-28 17:55:08 +02:00
.gitignore Switch to a tree view for changed files list (#37) 2020-04-28 11:15:05 +02:00
Cargo.lock next release version 2020-04-28 18:00:15 +02:00
Cargo.toml next release version 2020-04-28 18:00:15 +02:00
LICENSE.md add license 2020-03-16 15:42:56 +01:00
Makefile next try 2020-04-19 19:27:39 +02:00
README.md update readme 2020-04-28 15:51:24 +02:00
rustfmt.toml formating to shorter lines 2020-03-18 15:14:13 +01:00

CI crates MIT UNSAFE

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
  • scalable ui layout
  • async input polling and
  • async git API for fluid control

known limitations

  • hooks don't work on windows (see #14)
  • 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

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 using XDG)
  • $HOME/.cache/gitui/gitui.log (linux)

inspiration