A terminal user interface for Git. Inspired by Magit.
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 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
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.
Follow the install instructions: Installing Gitu
Or install from your package manager:
PRs are welcome! This may help to get you started: Development & Tooling