tig is an ncurses-based text-mode interface for Git. It concentrates on exploring repository history and inspecting changes, presenting Git information through interactive views rather than lengthy command output.
Although principally a repository browser, tig also supports staging changes and invoking common Git operations. It can be used interactively or as a pager for selected Git commands, making it useful for developers who prefer a conventional terminal environment.
This is free and open source software.
Key Features
- Browse revision logs showing commit identifiers, authors, dates and commit messages.
- Displays graphical representations of branching and merging relationships within repository history.
- Commit views present individual revisions, diff statistics and patch content.
- Tree and blob views allow users to navigate repository directories and inspect file contents.
- Blame view annotates file lines with the commits responsible for modifying them.
- Status view presents staged, unstaged and untracked changes.
- Stage and unstage files or selected changes through the interactive staging interface.
- Search repository history and navigate matching commits.
- Filter displayed revisions by file path, date, commit range and revision reachability.
- Compare commits and examine differences between revisions or branches.
- Supports Git operations including checkout, cherry-pick and revert through interactive actions.
- Provides configurable keybindings, colour schemes and custom commands.
- Split views allow related information, such as commit history and patch details, to appear together.
- Can act as a pager for Git command output, integrating repository browsing with existing shell workflows.
- Cross-platform support – runs on Linux, macOS, and Windows.
Website: github.com/jonas/tig
Support:
Developer: Jonas Fonseca
License: GNU General Public License v2.0

tig is written in C. Learn C with our recommended free books and free tutorials.
Related Software
| Text-Based Git Clients | |
|---|---|
| lazygit | Simple yet hugely popular terminal UI for git commands, written in Go |
| GitUI | Offers the comfort of a GUI git client but right in your terminal |
| Fugitive | Vim plugin for Git |
| Magit | Inspect and modify your Git repositories with Emacs |
| tig | ncurses-based Git repository browser |
| Neogit | Git interface plugin for Neovim inspired by Magit |
| forgit | Utility for using git interactively |
| Gitu | TUI Git client inspired by Magit |
| ggc | Go Git CLI |
| bit | Experimental modernized git CLI |
| pygitzen | Python-native terminal-based Git client |
| gitin | Commit, branch, status explorer for Git |
| Froggit | Modern, minimalist Git TUI |
| Gitwig | Keyboard-driven terminal interface for managing Git repositories |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.