Text-mode interface for git: browse commit history with a graph, view diffs, inspect blame, check stashes — all in the terminal without leaving your workflow. tig in any repo opens a navigable history view; tig blame file.go shows an annotated blame you can drill into commit-by-commit. Mature (15+ years), widely installed, and fast. The reference terminal git browser that gitui compares itself against.
The official GitHub CLI. Create PRs, review code, merge branches, manage issues, trigger workflows, clone repos — without opening a browser. gh pr create, gh pr checkout 123, gh run watch. Scriptable (outputs JSON), integrates with fzf for interactive selection. If you use GitHub for more than 30 minutes a day, gh will save at least 5 of them. Extensible via gh extension install.
Terminal UI for git written in Rust — faster than tig for large repos, with staging/unstaging, commit, push, branch management, and stash operations built in, not just log browsing. If tig is a read-heavy history browser, gitui is closer to a full git client in the terminal. Actively developed, noticeably snappier on repos with deep history. Worth trying if tig feels slow or you want to stage hunks without leaving the terminal.
extrawurst/gitui→Changelog generator driven by git history. Reads conventional commits (feat:, fix:, chore:) and renders a CHANGELOG.md grouped by type and version. Configured via a cliff.toml with a Tera template — full control over grouping, skipping, and formatting. Integrates into CI: git-cliff --latest generates the changelog section for the current tag. Pairs naturally with GoReleaser.
Fast, safe tool for rewriting git history — remove a file from every commit, rename paths, strip large blobs, split a repo, graft histories. The git project's own recommendation to replace git filter-branch (which is slow, error-prone, and has a warning to not use it for most tasks). Much faster than BFG for large repos. The right answer when a secret or a large binary was accidentally committed and needs to be expunged from history entirely.
Neofetch for git repos: displays project name, description, primary language, contributor count, commit activity, license, and repo size in a formatted terminal panel — including an ASCII art logo for the detected language. Not a power tool, but genuinely useful when onboarding to an unfamiliar codebase or doing a quick audit of a dependency. onefetch in a repo directory is all it takes.
lazygit (interactive staging and commit) and delta (diff viewer) are in the Shell & Productivity toolbox — they were there from the start and are general-purpose enough to stay. tig vs gitui: both are good; tig is the mature standard, gitui is faster and has more write operations built in. gh is the only tool here that requires network access (it talks to the GitHub API).