A terminal UI for git written in Rust, offering keyboard-driven staging, committing, branching, stashing and log browsing.
git/git
Git is a fast, distributed revision control system with a rich command set that exposes both high-level operations and low-level internals.
- Stars
- 64,165
- Forks
- 28,726
- Open issues
- 419
- Last commit
- 16 hours ago
What is it?
Git is a distributed revision control system for tracking changes in source code and other files. Every clone holds a full copy of the project history, so developers can commit, branch, and inspect history without a central server, and synchronize with other repositories when needed.
The command set is broad. High-level commands cover everyday workflows, while plumbing commands give direct access to the object store and internal data structures, which makes Git usable as a foundation for other tools. The project is written mainly in C with shell scripts, and its documentation covers each command as well as a tutorial and a day-to-day command reference.
This repository is a read-only mirror of the Git source code. Contributions are submitted as patches to the project's mailing list, following the procedure in the SubmittingPatches document.
Key features
- 01Distributed design where every clone holds the full project history.
- 02Branching and merging for parallel lines of development.
- 03Large set of high-level commands plus low-level plumbing commands.
- 04Per-command documentation and a built-in tutorial via git help.
Use cases
- Tracking changes and collaborating on source code in any software project.
- Building custom tools on top of Git's internal object model.
- Learning how version control systems store history internally.
Quick start
- 1
Read the INSTALL file for build and installation instructions
- 2
Read the tutorial to get started with Git
Things to know
- The README gives no package-manager install command, so installation requires building from source per the INSTALL file.
In collections
Topics
FAQ
- What is git?
- Git is a fast, distributed revision control system with a rich command set that exposes both high-level operations and low-level internals. Git is a distributed revision control system for tracking changes in source code and other files. Every clone holds a full copy of the project history, so developers can commit, branch, and inspect history without a central server, and synchronize with other repositories when needed.
- Is git free to use? What license does it have?
- git is open source under the Other license. Check the license terms before using it in commercial products.
- Is git still maintained?
- Actively maintained. The last commit to git was on Nov 6, 2026.
- What can I use git for?
- Tracking changes and collaborating on source code in any software project. Building custom tools on top of Git's internal object model. Learning how version control systems store history internally.
- How do I install git?
- Read the INSTALL file for build and installation instructions Read the tutorial to get started with Git
- Where can I get git?
- The source code and installation instructions are on GitHub: https://github.com/git/git
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A simple terminal UI for git commands that makes staging, committing, rebasing and branch work faster from the keyboard.
Jujutsu (jj) is a Git-compatible version control system that records working-copy changes as commits and tracks every operation for undo.
A text-mode, ncurses-based terminal interface for browsing Git repositories and staging changes by chunk.
A terminal user interface for Git, inspired by Magit, for staging, committing, branching, rebasing and more from the keyboard.
A GitHub CLI extension for creating, rebasing, submitting and merging stacked pull requests as a chain of small reviewable branches.