gex 0.3.7

Git workflow improvement CLI tool inspired by Magit
gex-0.3.7 is not a library.

Gex

crates.io download license stargazers

Git workflow improvement CLI tool inspired by Magit. This project is still under initial development, but I am actively dogfooding it and features should be added relatively quickly.

Aims

Primarily, this is a personal project since I recently switched to Neovim from Emacs and miss the simplicity and efficiency of using Magit. However, I do have some general aims, which are subject to change:

  • Simple - uncluttered UI.
  • Intuitive - it should be easy to learn to use gex.
  • Cross platform - primary focus on Linux, but should work well on Windows and MacOS.
  • Configurable - certain preferences in gex should be configurable to suit your own workflow.
  • Comprehensive* - you should be able to use gex to do everything you can do in git.

* gex supports executing arbitrary git commands with : for when something is not yet available

Non-Aims

  • Magit port

While it serves as a major inspiration, I am not trying to 1:1 port the behaviour and functionality of Magit.

Installation

Crates.io

crates.io

NOTE: You will need Rust on your system for this installation method.

$ cargo install gex

Nix

Maintained by @Br1ght0ne

nixpkgs

$ nix-env -iA nixpkgs.gex

Usage

To enter gex simply type gex in console, optionally providing a path.

$ gex

Navigation

Key Action
j / Down Move down
k / Up Move up
Tab Expand item
g / K Go to top
G / J Go to bottom

Git actions

Key Action
s stage item
S stage all items
u unstage item
U unstage all items
F pull from remote
: execute git command

Gex actions

Key Action
c commit menu
b enter branch mode
r refresh
q quit gex

Branch mode

Key Action
b checkout new branch
Space / Enter checkout branch
Esc exit branch mode

License

This project is dual-licensed under either:

at your option.

Contributing

See CONTRIBUTING.md.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.