Command Line Tools

TUIs

  • lazygit: simple terminal UI for git commands
  • tig: ncurses-based text-mode interface for git
  • forgit: A utility tool powered by fzf for using git interactively
  • gitu: A TUI Git client inspired by Magit
  • gitui: Blazing fast terminal-ui for Git written in Rust

Manage Git history

  • git-absorb: git commit --fixup, but automatic
  • git-filter-repo: Quickly rewrite git repository history (filter-branch replacement)
  • git-imerge: Incremental merge for Git
  • mergiraf: A syntax-aware git merge driver for a growing collection of programming languages and file formats.
  • git-branchless: Branchless workflow for Git

Shell prompt integrations

These let you put your current Git branch (and more) in your shell prompt:
  • Starship: The minimal, blazing-fast, and infinitely customizable prompt for any shell!
  • git-prompt.sh: Bash prompt that comes with Git

Manage large files

Diff tools

  • delta: A syntax highlighting pager for Git diffs
  • difftastic: A structural diff that understands syntax
  • diff-so-fancy: diff-so-fancy strives to make your diffs human readable instead of machine readable

Manage hooks

  • pre-commit: A framework for managing and maintaining multi-language pre-commit hooks.
  • lefthook: A fast Git hooks manager written in Go

Collections of Git tools

  • git-extras: Git repo summary, repl, changelog population, author commit percentages and more
  • git-toolbelt: A suite of useful Git commands that aid with scripting or every day command line usage

Other

  • mob.sh: Fast git handover for remote pair/mob programming.
  • git-secrets: Prevents you from committing secrets and credentials into git repositories
  • Commitizen: Create committing rules for projects, auto bump versions and auto changelog generation
  • git-town: Additional Git commands that automate the creation, synchronization, shipping, and cleanup of Git branches