Awesome
It's Gitu! - A Git porcelain outside of Emacs
A terminal user interface for Git. Inspired by Magit.
<img style="width: 720px" src="vhs/rec.gif"/>Features
Gitu aims to implement many of the core features of Magit over time.
It should be familiar to any previous Magit users.
Here's a list of so-far supported features:
- Staging/Unstaging (file, hunk, line)
- Showing (view commits / open EDITOR at line)
- Branching (checkout, checkout new)
- Commiting (commit, amend, fixup)
- Fetching
- Logging (current, other)
- Pulling / Pushing to/from configured upstream/pushDefault
- Rebasing (elsewhere, abort, continue, autosquash, interactive)
- Resetting (soft, mixed, hard)
- Reverting (commit)
- Stashing (save, pop, apply, drop)
Keybinds
Keybinds try mimic Magit, while staying Vim-like.
A help-menu can be shown by pressing the h
key, or by configuring general.always_show_help.enabled = true
Configuration
The environment variables VISUAL
, EDITOR
or GIT_EDITOR
(checked in this order) dictate which editor Gitu will open. This means that e. g. commit messages will be opened in the GIT_EDITOR
by Git, but if the user wishes to do edits to the actual files in a different editor, VISUAL
or EDITOR
can be set accordingly.
Configuration is also loaded from:
- Linux:
~/.config/gitu/config.toml
- macOS:
~/.config/gitu/config.toml
- Windows:
%USERPROFILE%\AppData\Roaming\gitu\config.toml
, refer to the default configuration.
Installing Gitu
Follow the install instructions: Installing Gitu
Or install from your package manager:
Contributing
PRs are welcome! This may help to get you started: Development & Tooling