# Git CLI Tools Collection of open source CLI tools for Git. Feel free to contribute. ## Clients * [forgit](https://github.com/wfxr/forgit) - Utility tool powered by fzf for using git interactively. * [fugitive.vim](https://github.com/tpope/vim-fugitive) - Git plugin for *Vim*. * [gitin](https://github.com/isacikgoz/gitin) - Commit/branch/workdir explorer for git. * [Gitu](https://github.com/altsem/gitu) - TUI Git client inspired by Magit. * [GitUI](https://github.com/Extrawurst/gitui) - Blazing fast terminal-ui for git written in rust. * [lazygit](https://github.com/jesseduffield/lazygit) - Simple terminal UI for git commands. * [Magit](https://github.com/magit/magit) - Git porcelain inside *Emacs*. * [Neogit](https://github.com/TimUntersberger/neogit) - Magit for *neovim*. * [tig](https://github.com/jonas/tig) - Text-mode interface for git. ## Autocomplete * [bit](https://github.com/chriswalz/bit) - Modern Git CLI. * [gitsome](https://github.com/donnemartin/gitsome) - Supercharged Git command line interface (CLI). ## Diff * [delta](https://github.com/dandavison/delta) - Viewer for git and diff output. * [diff-so-fancy](https://github.com/so-fancy/diff-so-fancy) - Strives to make your diffs human readable instead of machine readable. * [diffr](https://github.com/mookid/diffr) - Yet another diff highlighting tool. * [Difftastic](https://github.com/Wilfred/difftastic) - Experimental diff tool that compares files based on their syntax. ## Undo/Fixup * [BFG Repo-Cleaner](https://github.com/rtyley/bfg-repo-cleaner) - Removes large or troublesome blobs. * [git revise](https://github.com/mystor/git-revise) - Tool for doing efficient in-memory commit rebases & fixups. * [git-absorb](https://github.com/tummychow/git-absorb) - git commit --fixup, but automatic. * [git-autofixup](https://github.com/torbiak/git-autofixup/) - Create fixup commits for topic branches. * [git-fixup](https://github.com/keis/git-fixup) - Fighting the copy-paste element of your rebase workflow. * [gitjk](https://github.com/mapmeld/gitjk) - Undo what you just did in git. * [ugit](https://github.com/Bhupesh-V/ugit) - Helps undo git commands. ## Merge/Rebase * [Git Interactive Rebase Tool](https://github.com/MitMaro/git-interactive-rebase-tool) - Native cross-platform full feature terminal-based sequence editor for git interactive rebase. * [git when-merged](https://github.com/mhagger/git-when-merged) - Determine when a particular commit was merged into a git branch. * [git-fiddle](https://github.com/felixSchl/git-fiddle) - Edit commit messages, authors, and timestamps during git-rebase. * [git-imerge](https://github.com/mhagger/git-imerge) - Incremental merge and rebase for Git. ## Hooks * [Git Hound](https://github.com/ezekg/git-hound) - Git plugin that prevents sensitive data from being committed. * [git-secrets](https://github.com/awslabs/git-secrets) - Prevents you from committing secrets and credentials into git repositories. * [husky](https://github.com/typicode/husky) - Modern native Git hooks made easy. * [overcommit](https://github.com/sds/overcommit) - Fully configurable and extendable Git hook manager. * [pre-commit](https://github.com/pre-commit/pre-commit) - Framework for managing and maintaining multi-language pre-commit hooks. ## Project Management * [git-appraise](https://github.com/google/git-appraise) - Distributed code review system for Git repos. * [git-bug](https://github.com/MichaelMure/git-bug) - Distributed, offline-first bug tracker embedded in git, with bridges. ## Utilities * [Git extras](https://github.com/tj/git-extras) - Repo summary, repl, changelog population, author commit percentages and more. * [Git plus](https://github.com/tkrajina/git-plus) - Set of git utilities. * [Git Town](https://github.com/git-town/git-town) - Generic, high-level Git workflow support. * [git trim](https://github.com/jasonmccreary/git-trim) - Quickly remove merged, pruned, untracked, or stale branches within a repository. * [git-fresh](https://github.com/imsky/git-fresh) - Keep your Git repo fresh. * [git-friendly](https://github.com/git-friendly/git-friendly) - Collection of shell scripts for making pulling, pushing, branching, merging, and stashing with Git fast and painless. * [git-open](https://github.com/paulirish/git-open) - Open the repo website (GitHub, GitLab, Bitbucket) in your browser. * [git-recall](https://github.com/Fakerr/git-recall) - Interactive way to peruse your git history from the terminal. * [git-recent](https://github.com/paulirish/git-recent) - See your latest local git branches. * [git-toolbelt](https://github.com/nvie/git-toolbelt) - Suite of useful Git commands that aid with scripting or every day command line usage. * [legit](https://github.com/frostming/legit) - Git for Humans, Inspired by GitHub for Mac. ## Multi Repo * [Gita](https://github.com/nosarthur/gita) - Command-line tool to manage multiple git repos. * [gitbatch](https://github.com/isacikgoz/gitbatch) - Manage your git repositories in one place. * [gitup](https://github.com/earwig/git-repo-updater) - Console script that allows you to easily update multiple git repositories at once. * [mgitstatus](https://github.com/fboender/multi-git-status) - Show uncommitted, untracked and unpushed changes for multiple Git repos. * [mu-repo](https://github.com/fabioz/mu-repo/) - Tool to help in dealing with multiple git repositories. * [vcstool](https://github.com/dirk-thomas/vcstool) - Command line tool designed to make working with multiple repositories easier. ## Metrics * [GIT quick statistics](https://github.com/arzzen/git-quick-stats) - Simple and efficient way to access various statistics in git repository. * [git-cal](https://github.com/k4rthik/git-cal) - GitHub like contributions calendar on terminal. * [git-sizer](https://github.com/github/git-sizer) - Compute various size metrics for a Git repository, flagging those that might cause problems. * [git-stats](https://github.com/IonicaBizau/git-stats) - Local git statistics including GitHub-like contributions calendars. * [onefetch](https://github.com/o2sh/onefetch) - Git repository summary on your terminal. ## Git Flow * [git-flow](https://github.com/nvie/gitflow) - Git extensions to provide high-level repository operations for Vincent Driessen's branching model. * [gitflow-avh](https://github.com/petervanderdoes/gitflow-avh) - Git extensions to provide high-level repository operations for Vincent Driessen's branching model. ## GitHub * [GitHub CLI](https://github.com/cli/cli/) - GitHub’s official command line tool. * [gitsome](https://github.com/donnemartin/gitsome) - Supercharged GitHub command line interface (CLI). * [hub](https://github.com/github/hub) - Command-line tool that makes git easier to use with GitHub. ## Miscellaneous * [ghq](https://github.com/x-motemen/ghq) - Remote repository management made easy. * [git filter-repo](https://github.com/newren/git-filter-repo) - Quickly rewrite git repository history (filter-branch replacement). * [Git Large File Storage](https://github.com/git-lfs/git-lfs) - Git extension for versioning large files. * [git-annex](https://git-annex.branchable.com/) - Managing files with git, without checking the file contents into git. * [git-branchless](https://github.com/arxanas/git-branchless) - Suite of tools to help you visualize, navigate, manipulate, and repair your commit history. * [git-chglog](https://github.com/git-chglog/git-chglog) - CHANGELOG generator implemented in Go (Golang). * [git-crypt](https://github.com/AGWA/git-crypt) - Transparent file encryption in git. * [git-issue](https://github.com/dspinellis/git-issue) - Git-based decentralized issue management. * [git-secret](https://github.com/sobolevn/git-secret) - Bash-tool to store your private data inside a git repository. * [git-sim](https://github.com/initialcommit-com/git-sim) - Visually simulate Git operations in your own repos with a single terminal command. * [git-standup](https://github.com/kamranahmedse/git-standup) - Recall what you (or someone else in your team) did on the last working day.