git-cli-tools/README.md

100 lines
7.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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). <!-- 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.
* [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/) - GitHubs official command line tool.
* [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-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.