Blazing 💥 fast terminal-ui for git written in rust 🦀
Go to file
2020-05-16 19:08:44 +02:00
.github Update FUNDING.yml 2020-05-16 01:06:07 +02:00
.vscode Move status tab into its own component 2020-05-11 17:20:34 +02:00
assets added screenshots 2020-05-07 16:36:50 +02:00
asyncgit Implement git hook support on windows 2020-05-16 19:08:44 +02:00
scopetime Switch to a tree view for changed files list (#37) 2020-04-28 11:15:05 +02:00
src allow longer messages in log view 2020-05-15 18:55:18 +02:00
.gitignore Replace unwrap calls in asyncgit with error handling - closes #53 2020-05-15 15:15:26 +02:00
Cargo.lock Implement git hook support on windows 2020-05-16 19:08:44 +02:00
Cargo.toml bumop version 2020-05-12 14:12:01 +02:00
CHANGELOG.md Implement git hook support on windows 2020-05-16 19:08:44 +02:00
LICENSE.md add license 2020-03-16 15:42:56 +01:00
Makefile Log view (#41) 2020-05-05 13:47:21 +02:00
README.md added itchio shield 2020-05-07 17:32:33 +02:00
rustfmt.toml formating to shorter lines 2020-03-18 15:14:13 +01:00

CI crates MIT UNSAFE ITCH

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

  • 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