Git is a light-weight distribution version control system.
Git is built on 4 layers of abstractions like an onion, and each layer is based on another.
- Persistent map. The technical cornerstone is SHA1, a hashing algorithm.
- Content tracker
- Version control
- Distribute version control
A few things worth noting technically.
- Git is path independent because it is based on persistent maps.
- It is inherently easy to understand. It only has four types of objects, blob, tree, commit, tag.
- A branch is just a commit. This idea really blew me away because I never think from this perspective. Branching is super easy to understand.
- A commit is a snapshot of the persistent map.
- Rebase. Nice concept if used correctly
- Good fit for distributed peers like open source projects
- Paolo Perrotta, How Git Works, Pluralsight