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
gh
Official GitHub CLI tool for managing pull requests, issues, and repositories from the command line
delta
Syntax-highlighting pager for git, diff, and grep output with side-by-side view and word-level diff highlighting
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.
gitleaks
Detects secrets like passwords, API keys, and tokens in git repositories, files, and stdin input
gitui
Terminal-based Git GUI for staging, committing, branching, and repository management with keyboard-only control
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.
diff-so-fancy
Perl script that reformats git diff and unified diff output for readability, with cleaner headers, hunk markers, and stripped +/- symbols.
pre-commit
Framework for managing and maintaining multi-language pre-commit hooks in Git repositories.
git-lfs
Git extension for managing large files by storing them outside the repository with pointer files
git-secrets
Prevents committing passwords and sensitive information to git repositories using pattern matching and hooks
tig
ncurses-based text-mode interface for browsing Git repositories and staging changes
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.
onefetch
Command-line tool that displays Git repository information and code statistics in terminal
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.
git-crypt
Transparent file encryption for Git repositories using AES-256, encrypting files on commit and decrypting on checkout
hunk
Terminal diff viewer for reviewing Git, GitHub, Jujutsu, and Sapling changesets, with inline agent annotations, split/unified layouts, and watch mode.
soft-serve
Self-hostable Git server with SSH-accessible TUI for command-line repository management and browsing.
forgit
Interactive Git command wrapper using fzf for fuzzy selection of files, commits, branches, and more
gitu
Terminal user interface for Git inspired by Magit, providing visual staging, branching, and repository management
serie
Terminal UI for git commit graphs using image protocols to render rich visualizations in supported terminals
lazyjj
Terminal UI for Jujutsu version control system, providing interactive log browsing, file management, and bookmark operations
branchlet
Interactive CLI tool for creating and managing Git worktrees with file copying and post-creation commands
gitnr
Cross-platform CLI tool for creating .gitignore files from GitHub and TopTal template collections
ftdv
Terminal-based diff viewer for Git with interactive file tree navigation and configurable external diff tool support.
Guides
- lazygit Alternativeslazygit alternatives compared: gitui, gitu and tig as terminal Git UIs, plus forgit for fzf-based Git commands in Bash, Zsh and Fish.
- A terminal git workflow with lazygit and deltaInstall lazygit and delta, set delta as git's pager, render lazygit diffs with it, and stage hunks, commit and rebase from the keyboard.
- Best Git TUIsCompare lazygit, gitui, tig and gitu: terminal Git interfaces for staging hunks and lines, committing, and managing branches.
- Find leaked secrets in a git repo with gitleaksScan git history and working files for API keys and tokens with gitleaks, allowlist false positives, add a pre-commit hook and run it in CI.
- lazygit vs gituilazygit (Go) vs gitui (Rust): two MIT-licensed terminal Git UIs compared on interface, speed on large repos, hooks and install options.
- lazygit vs tiglazygit vs tig: a Go panel-based Git UI for staging and rebasing compared with a C ncurses browser and pager for history.