1. Why Git?
A quick
trip down
the Git
rabbit
hole.
Mark Guzman
mg@hasno.info
@segy
http://hasno.info
Thursday, March 4, 2010
2. What is Git
Distributed Version Control
Fast (small C core)
Popular (Github)
Stupid Content Tracker
Thursday, March 4, 2010
3. Benefits
Easier Merging
Cheap fast branching
Speed
Checkout size
Maintains an easily usable history
Redundancy by default
Thursday, March 4, 2010
4. Why Merging
Tracking Matters
History Matters
Why did Bob change 10 files in his branch 3
weeks back?
Why did you change some of the same files in
yours?
How will you know a year down the road?
Thursday, March 4, 2010
6. Changeset Tracking
✴Git treats all your changes as a single ChangeSet.
✴It uses a SHA-1 hash of the changes to identify them
✴Eg: commit 7ef55e41f1cf529e47723d869233492077c94896
Thursday, March 4, 2010
7. Stupid Content Tracking
Simple object relationships.
Tree (folder) -> Blob (file data)
Thursday, March 4, 2010
17. Notes from the
Trenches
Learning curve
Server setup easier on linux
Submodules != svn externals
Watch our for detached HEAD
Be EXTREMELY careful with a force push.
Thursday, March 4, 2010