delta-gitu 0.1.2

An experimental fork of gitu (a git client inspired by Magit), published as a library for delta to embed
Documentation

This is a fork. Upstream is altsem/gitu by altsem, MIT licensed; it is published here as the delta-gitu crate, with altsem's agreement, so that delta can embed it and offer the TUI as delta --gitu. The fork adds delta as a diff renderer and the ability to act as git's pager. The crate has no binary target; install gitu itself from upstream.

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)
  • Committing (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:

Packaging status

Shell completions can be generated with gitu completion <shell>, see Shell completions.

Contributing

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