git-cli-tools/README.md
2022-04-01 11:01:48 +02:00

89 lines
7 KiB
Markdown

# Git CLI Tools
Collection of CLI tools for Git.
Feel free to contribute.
## Clients
* [fugitive.vim](https://github.com/tpope/vim-fugitive) - Git plugin for *Vim*.
* [gitin](https://github.com/isacikgoz/gitin) - Commit/branch/workdir explorer for git.
* [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). <!-- intentionally duplicated as it is two tools in one package -->
## 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.
* [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.
## 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.
## 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-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
* [gitsome](https://github.com/donnemartin/gitsome) - Supercharged GitHub command line interface (CLI). <!-- intentionally duplicated as it is two tools in one package -->
* [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-standup](https://github.com/kamranahmedse/git-standup) - Recall what you (or someone else in your team) did on the last working day.