LinuxCommandLibrary

gitui

Visualize and manage Git repositories in terminal

TLDR

Specify the color theme (defaults to theme.ron)

$ gitui --theme [theme]
copy

Store logging output into a cache directory
$ gitui --logging
copy

Use notify-based file system watcher instead of tick-based update
$ gitui --watcher
copy

Generate a bug report
$ gitui --bugreport
copy

Use a specific Git directory
$ gitui --directory [path/to/directory]
copy

Use a specific working directory
$ gitui --workdir [path/to/directory]
copy

Display help
$ gitui --help
copy

Display version
$ gitui --version
copy

SYNOPSIS

gitui [OPTIONS]

PARAMETERS

--help
    Displays help information about the command and its usage.

--version
    Shows the version number of the gitui application.

DESCRIPTION

gitui is an open-source, terminal user interface (TUI) for Git, written in Rust. It aims to provide a fast and intuitive way to interact with Git repositories directly from the command line, without needing to switch to a graphical user interface. Unlike traditional command-line Git, gitui offers a full-screen, interactive display that shows the repository status, file changes, commit history, and more in real-time.

Users can perform common Git operations such as staging and unstaging files, committing changes, pushing and pulling from remotes, managing branches, and performing rebases, all through intuitive keyboard shortcuts. Its performance, particularly on large repositories, is a significant advantage attributed to its Rust foundation. gitui is ideal for developers who prefer a keyboard-driven workflow and seek to streamline their Git interactions within a unified terminal environment.

CAVEATS

gitui relies on a functioning Git installation and configuration on your system. Its keyboard-driven interface, while efficient, may present a learning curve for users accustomed to mouse-based graphical tools. While powerful for daily Git operations, advanced or very specific Git commands might still require falling back to the standard git command-line interface. Configuration is managed through a RON (Rusty Object Notation) file, which might be unfamiliar to some users.

INTERACTIVE NATURE

gitui functions as a dynamic, full-screen terminal user interface. Upon launch, it provides real-time updates of your Git repository's status, allowing seamless navigation between different views like the status screen, diff view, commit log, and branch manager. The primary method of interaction is through keyboard shortcuts within the gitui window itself, offering a continuous workflow without needing to re-enter commands.

CONFIGURATION

The behavior and appearance of gitui are highly customizable through a configuration file, typically named config.ron, located in your user's configuration directory (e.g., ~/.config/gitui/config.ron on Linux). This file allows users to define custom keybindings, color themes, UI layout preferences, and various other default behaviors, enabling a personalized and efficient Git experience.

HISTORY

gitui was created by Marcel Köppen (extrawurst) and first gained significant traction around late 2020 / early 2021. It quickly rose in popularity due to its exceptional performance, particularly in large repositories, a benefit of being written in Rust, and its modern, user-friendly terminal interface.

SEE ALSO

git(1), tig(1), lazygit(1), fzf(1)

Copied to clipboard