Skip to content

altsem/gitu

Repository files navigation

It's Gitu! - A Git porcelain outside of Emacs

CI codecov

A terminal user interface for Git. Inspired by Magit.

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 (You may want to configure a push.default)
  • 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 GIT_EDITOR, VISUAL or EDITOR (checked in this order) dictate which editor Gitu will open.

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:

Packaging status

Contributing

PRs are welcome! This may help to get you started: Development & Tooling