About Git
(this post if part of the material I cover in my devops course)
A short History of Git
As always, the git-scm book (see below) does a great work about that
here.
To summarize:
- This is really the history of the creation of the Linux kernel
- In the early days.....changes to the software were passed around as patches and archived files.
(remember that zip file from my story?) - In 2002, the Linux kernel project began using a proprietary DVCS called BitKeeper
- BitKeeper was proprietary, and was given free of charge to the community, but that later changed.
- That prompted the kernel guys to create their own DVCS.
What is git?
"Unfortunately, no one can be told what the Matrix is. You have to see it for yourself."
(Morpheus Wisdom, the Matrix I)
..so anyway..
- Git is distributed, so you have a complete git repository on your local computer.
- That means you can keep working and do many things (not all..) even of you are disconnected from the Internet (or your company office)
- Git thinks of its data more like a series of snapshots of a miniature filesystem.
- With Git, every time you commit, or save the state of your project, Git basically takes a picture of what all your files look like at that moment and stores a reference to that snapshot.
- To be efficient, if files have not changed, Git doesn’t store the file again, just a link to the previous identical file it has already stored.
- Git thinks about its data more like a stream of snapshots.
- There is off course more, but wait till you experience it.
The book
I'm going to rely heavilly on the Pro git book that you can use for free (get the details of the license from the git site)