[![Git](https://git-scm.com/images/logo@2x.png)](https://git-scm.com/) --distributed-is-the-new-centralized
![](https://git-scm.com/images/dark-mode.svg)
  * [About](https://git-scm.com/about)
    * [Trademark](https://git-scm.com/about/trademark)
  * [Learn](https://git-scm.com/learn)
    * [Book](https://git-scm.com/book)
    * [Cheat Sheet](https://git-scm.com/cheat-sheet)
    * [Videos](https://git-scm.com/videos)
    * [External Links](https://git-scm.com/doc/ext)
  * [Tools](https://git-scm.com/tools)
    * [Command Line](https://git-scm.com/tools/command-line)
    * [GUIs](https://git-scm.com/tools/guis)
    * [Hosting](https://git-scm.com/tools/hosting)
  * [Reference](https://git-scm.com/docs)
  * [Install](https://git-scm.com/install/linux)
  * [Community](https://git-scm.com/community)


* * *
The entire **[Pro Git book](https://git-scm.com/book)** written by Scott Chacon and Ben Straub is available to [read online for free](https://git-scm.com/book). Dead tree versions are available on [Amazon.com](https://www.amazon.com/Pro-Git-Scott-Chacon/dp/1484200772?ie=UTF8&camp=1789&creative=9325&creativeASIN=1430218339&linkCode=as2&tag=git-sfconservancy-20).
# Command Line Tools
### TUIs
  * **[lazygit](https://github.com/jesseduffield/lazygit)** : simple terminal UI for git commands
  * **[tig](https://jonas.github.io/tig/)** : ncurses-based text-mode interface for git
  * **[forgit](https://github.com/wfxr/forgit)** : A utility tool powered by fzf for using git interactively
  * **[gitu](https://github.com/altsem/gitu)** : A TUI Git client inspired by Magit
  * **[gitui](https://github.com/gitui-org/gitui)** : Blazing fast terminal-ui for Git written in Rust


### Manage Git history
  * **[git-absorb](https://github.com/tummychow/git-absorb)** : git commit --fixup, but automatic
  * **[git-filter-repo](https://github.com/newren/git-filter-repo)** : Quickly rewrite git repository history (filter-branch replacement)
  * **[git-imerge](https://github.com/mhagger/git-imerge)** : Incremental merge for Git
  * **[mergiraf](https://mergiraf.org/)** : A syntax-aware git merge driver for a growing collection of programming languages and file formats.
  * **[git-branchless](https://github.com/arxanas/git-branchless)** : Branchless workflow for Git


### Shell prompt integrations
These let you put your current Git branch (and more) in your shell prompt:
  * **[Starship](https://starship.rs/)** : The minimal, blazing-fast, and infinitely customizable prompt for any shell!
  * **[git-prompt.sh](https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh)** : Bash prompt that comes with Git


### Manage large files
  * **[git-annex](https://git-annex.branchable.com/)**
  * **[git-lfs](https://git-lfs.com/)**


### Diff tools
  * **[delta](https://dandavison.github.io/delta/)** : A syntax highlighting pager for Git diffs
  * **[difftastic](https://github.com/Wilfred/difftastic)** : A structural diff that understands syntax
  * **[diff-so-fancy](https://github.com/so-fancy/diff-so-fancy)** : diff-so-fancy strives to make your diffs human readable instead of machine readable


### Manage hooks
  * **[pre-commit](https://pre-commit.com/)** : A framework for managing and maintaining multi-language pre-commit hooks.
  * **[lefthook](https://github.com/evilmartians/lefthook)** : A fast Git hooks manager written in Go


### Collections of Git tools
  * **[git-extras](https://github.com/tj/git-extras)** : Git repo summary, repl, changelog population, author commit percentages and more
  * **[git-toolbelt](https://github.com/nvie/git-toolbelt)** : A suite of useful Git commands that aid with scripting or every day command line usage


### Other
  * **[mob.sh](https://mob.sh/)** : Fast git handover for remote pair/mob programming.
  * **[git-secrets](https://github.com/awslabs/git-secrets)** : Prevents you from committing secrets and credentials into git repositories
  * **[Commitizen](https://commitizen-tools.github.io/commitizen/)** : Create committing rules for projects, auto bump versions and auto changelog generation
  * **[git-town](https://github.com/git-town/git-town)** : Additional Git commands that automate the creation, synchronization, shipping, and cleanup of Git branches


[About this site](https://git-scm.com/site)
Patches, suggestions, and comments are welcome.
Git is a member of [Software Freedom Conservancy](https://git-scm.com/sfc)
