Git Command-Line Tools

25 tools in the Git category: git clients and version control tools. Sorted by GitHub stars; the most starred are lazygit, gh and delta.

Tools

lazygit

Terminal UI for git commands with visual interface for staging, committing, branching, and repository management

83.5kGo

gh

Official GitHub CLI tool for managing pull requests, issues, and repositories from the command line

46.8kGo

delta

Syntax-highlighting pager for git, diff, and grep output with side-by-side view and word-level diff highlighting

32.6kRust
Jujutsu

Jujutsu

Git-compatible version control system with working-copy-as-a-commit, an operation log with undo, and automatic rebase of descendants. CLI is jj.

32.3kRust
gitleaks

gitleaks

Detects secrets like passwords, API keys, and tokens in git repositories, files, and stdin input

30.4kGo
gitui

gitui

Terminal-based Git GUI for staging, committing, branching, and repository management with keyboard-only control

22.6kRust

Git Extras

A collection of extra git subcommands, including git-ignore, git-setup, git-changelog, git-release, git-effort, git-squash and git-pull-request.

18.1kShell

diff-so-fancy

Perl script that reformats git diff and unified diff output for readability, with cleaner headers, hunk markers, and stripped +/- symbols.

18.1kPerl
pre-commit

pre-commit

Framework for managing and maintaining multi-language pre-commit hooks in Git repositories.

15.7kPython
git-lfs

git-lfs

Git extension for managing large files by storing them outside the repository with pointer files

14.6kGo

git-secrets

Prevents committing passwords and sensitive information to git repositories using pattern matching and hooks

13.4kShell
tig

tig

ncurses-based text-mode interface for browsing Git repositories and staging changes

13.4kC
gh-dash

gh-dash

Terminal UI for GitHub that lists configurable pull request and issue sections, with vim-style hotkeys, custom actions, and a YAML config file.

12.7kGo
onefetch

onefetch

Command-line tool that displays Git repository information and code statistics in terminal

12.1kRust

gitoxide

Pure Rust implementation of Git, offered as the gix library crate plus gix and ein command-line binaries for testing the API and running workflow tools.

12.1kRust

git-crypt

Transparent file encryption for Git repositories using AES-256, encrypting files on commit and decrypting on checkout

10.0kC++

hunk

Terminal diff viewer for reviewing Git, GitHub, Jujutsu, and Sapling changesets, with inline agent annotations, split/unified layouts, and watch mode.

9.7kTypeScript
soft-serve

soft-serve

Self-hostable Git server with SSH-accessible TUI for command-line repository management and browsing.

7.3kGo

forgit

Interactive Git command wrapper using fzf for fuzzy selection of files, commits, branches, and more

5.1kShell

gitu

Terminal user interface for Git inspired by Magit, providing visual staging, branching, and repository management

2.9kRust

serie

Terminal UI for git commit graphs using image protocols to render rich visualizations in supported terminals

2.2kRust

lazyjj

Terminal UI for Jujutsu version control system, providing interactive log browsing, file management, and bookmark operations

1.2kRust

branchlet

Interactive CLI tool for creating and managing Git worktrees with file copying and post-creation commands

501

gitnr

Cross-platform CLI tool for creating .gitignore files from GitHub and TopTal template collections

239Rust

ftdv

Terminal-based diff viewer for Git with interactive file tree navigation and configurable external diff tool support.

72Rust

Guides