Git
The base version control system used by GitHub, GitLab, and BitBucket
Git is a distributed version control system created by Linus Torvalds in 2005 that tracks changes in files and coordinates work among multiple developers working on the same codebase. Unlike centralized version control systems, Git gives every developer a complete copy of the entire project history on their local machine, allowing them to work offline and commit changes locally before syncing with remote repositories. Git tracks modifications at the file and line level, creating snapshots of the entire project at each commit, which enables developers to review history, compare versions, revert changes, and understand exactly when and why specific code was modified. The system uses cryptographic hashing (SHA-1) to ensure data integrity and prevent corruption, making it extremely reliable for managing source code across teams of any size.
Beyond basic version tracking, Git provides powerful branching and merging capabilities that enable sophisticated development workflows. Developers can create lightweight branches to experiment with new features, fix bugs, or explore different approaches without affecting the main codebase, then merge successful changes back when ready. Git supports various collaboration models including centralized workflows (similar to SVN), feature branch workflows, gitflow workflows, and forking workflows commonly used in open-source projects. The system integrates with platforms like GitHub, GitLab, and Bitbucket that add web-based interfaces, pull request mechanisms, code review tools, and issue tracking. Git’s staging area (index) allows developers to carefully craft commits by selectively choosing which changes to include, while features like rebasing, cherry-picking, stashing, and tags provide fine-grained control over project history and release management. This flexibility and power have made Git the dominant version control system in modern software development, used by individual developers, small teams, and massive open-source projects alike.
License: GPL-2.0-
Tags: Version Control, Change, Source Control
Features: Distributed Version Control, Free and Open Source, GPL-2.0-only License, Branching and Merging, Local Repository, Complete History, Offline Capability, Cryptographic Integrity, SHA-1 Hashing, Snapshot-Based, Fast Performance, Lightweight Branches, Non-Linear Development, Staging Area, Commit History, Remote Repository Support, Push and Pull, Clone Operations, Fork Support, Collaboration-Friendly, Decentralized Architecture, Data Integrity, Atomic Commits, Version Tracking, File History, Change Detection, Diff Generation, Conflict Resolution, Three-Way Merge, Fast-Forward Merge, Rebase Capability, Cherry-Pick, Stashing, Tagging, Release Management, Commit Messages, Author Attribution, Timestamp Tracking, Branch Management, Branch Deletion, Remote Tracking, Multiple Remotes, Distributed Backup, Peer-to-Peer, No Single Point of Failure, Cross-Platform, Command Line Interface, GUI Support, Git Hooks, Pre-Commit Hooks, Post-Commit Hooks, Server-Side Hooks, Submodules, Subtrees, Large File Support, Git LFS, Patch Generation, Patch Application, Email Integration, Bisect Debugging, Blame Annotation, Log Visualization, Graph Visualization, Reflog, Garbage Collection, Pack Files, Delta Compression, Efficient Storage, Network Protocol, HTTP Support, SSH Support, Git Protocol, Smart HTTP, Shallow Clones, Partial Clones, Sparse Checkout, Worktrees, Index Management, Working Directory, Repository Database, Object Store, Blob Objects, Tree Objects, Commit Objects, Tag Objects, Reference Pointers, HEAD Pointer, Detached HEAD, Branch Pointers, Symbolic References, Reflogs, Configuration Files, Global Config, Local Config, User Config, Ignore Files, Gitignore, Attributes, Path Specifications, Revision Syntax, Range Specifications, Ancestry References, Merge Strategies, Recursive Merge, Octopus Merge, Ours Strategy, Subtree Strategy, Conflict Markers, Merge Tools, External Diff Tools, Git Attributes, Line Ending Normalization, Text vs Binary Detection, Filter Drivers, Smudge Filters, Clean Filters, Archive Generation, Bundle Creation, Maintenance Commands, Fsck Integrity Check, Prune Operations, Repack Operations, Statistics, Shortlog, Describe Command, Show Command, Status Reporting, Untracked Files, Modified Files, Staged Files, Deleted Files, Renamed Files, Moved Files, Copy Detection, Similarity Detection, Whitespace Handling, Color Output, Pager Support, Aliases, Command Shortcuts, Autocomplete, Shell Integration, Credential Management, Credential Helpers, Password Caching, SSH Key Support, GPG Signing, Signed Commits, Signed Tags, Verification, Trust Chain, Web Interface Support, Repository Hosting, GitHub Integration, GitLab Integration, Bitbucket Integration, Self-Hosting, Gitolite, Bare Repositories, Workflow Support, Gitflow Workflow, Feature Branch Workflow, Forking Workflow, Centralized Workflow, Pull Request Model, Code Review Integration, Issue Tracking Integration, Continuous Integration Support, Automation Friendly, Scripting Support, API Access, Git Server, Git Daemon, Smart Protocol, Dumb Protocol, Archive Serving, Repository Mirroring, Alternates, Reference Repositories, Linked Worktrees, Sparse Index, File System Monitor, Multi-Pack Index, Commit Graph, Bitmap Index, Protocol V2, Partial Clone Filters, Object Filters, Blob Filters, Tree Filters, Background Maintenance, Incremental Repack, Geometric Repack, Write Commit Graph, Prefetch, Loose Objects, Object Database, Reference Database
Website: https://git-scm.com/
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.