Git was originally not a version control system; it was designed to be the infrastructure so that someone else could build one on top. And they did; nowadays there are more than 100 git-* commands installed along with git. It's scary and confusing and weird, but what that means is git is a platform. It's a new set of nouns and verbs that we never had before. Having new nouns and verbs means we can invent entirely new things that we previously couldn't do.
With git, we've invented a new world where revision history, checksums, and branches don't make your filesystem slower: they make it faster. They don't make your data bigger: they make it smaller. They don't risk your data integrity; they guarantee integrity. They don't centralize your data in a big database; they distribute it peer to peer.
Much like Unix itself, git's actual software doesn't matter; it's the file format, the concepts, that change everything.
The author describes a whole bunch of projects he worked on or heard about where Git would basically have satisfied all the needs of the project while being faster, smaller, and more secure.
Essentially, Git could serve as the base for many more version control system-type tools than just the ones that are called Git today. Myself, I'm looking forward to version control that's suitable for entire disks (perhaps with automatic history pruning) and better ways to be able to easily deal with large projects that contain smaller modules. But there are undoubtedly better ways of doing things than our untrained minds are capable of even imagining right now.
No comments:
Post a Comment