Why  Git
Upcoming SlideShare
Loading in...5

Why Git



Why Git?" talk at the Fairfield-Westchester Dot Net User Group.

Why Git?" talk at the Fairfield-Westchester Dot Net User Group.



Total Views
Views on SlideShare
Embed Views



14 Embeds 134

http://hasno.info 107
http://blog.hasno.info 7
http://mksys.net 5
http://prettycode.info 2
http://feeds2.feedburner.com 2
http://silverleafgallery.com 2
http://www.slideshare.net 2
http://webcache.googleusercontent.com 1
http://www.follow2.com 1
http://blogsdirectoryhub.com 1
http://www.blogsdirectoryhub.com 1
https://trac.hasno.info 1
https://hasno.info 1
http://inoreader.com 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Why  Git Why Git Presentation Transcript

  • Why Git? A quick trip down the Git rabbit hole. Mark Guzman mg@hasno.info @segy http://hasno.info Thursday, March 4, 2010
  • What is Git Distributed Version Control Fast (small C core) Popular (Github) Stupid Content Tracker Thursday, March 4, 2010
  • Benefits Easier Merging Cheap fast branching Speed Checkout size Maintains an easily usable history Redundancy by default Thursday, March 4, 2010
  • 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
  • File Based Change Tracking Thursday, March 4, 2010
  • 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
  • Stupid Content Tracking Simple object relationships. Tree (folder) -> Blob (file data) Thursday, March 4, 2010
  • Commits -> Trees Thursday, March 4, 2010
  • Refs (Branches) Refs -> Commits -> Trees -> Blobs Thursday, March 4, 2010
  • Staging The Index (Staging Area) allows you to organize Does the comment make sense for the commit? Thursday, March 4, 2010
  • Centralized Workflow Central Repository is treated as a hub for changes. It would drive automated builds. Thursday, March 4, 2010
  • Distributed Workflow You can pull from any compatible* source Thursday, March 4, 2010
  • Branch & Merge tracking Branch with changes Merged Tree Thursday, March 4, 2010
  • Rebase? Take my commits and replay them after the HEAD of another branch. Thursday, March 4, 2010
  • Windows Tools TortoiseGit Git Extensions msysgit Git Cheetah git-gui gitk Thursday, March 4, 2010
  • Live Demo Time. Thursday, March 4, 2010
  • 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
  • Force things at your own risk. Thursday, March 4, 2010
  • Why I choose Git. Merging with history Quick branch switching Stashing and Staging Best SCM I’ve used so far. Thursday, March 4, 2010
  • Questions References http://git-scm.com http://github.com http://code.google.com/p/tortoisegit/ http://code.google.com/p/gitextensions/ http://marklodato.github.com/visual-git-guide/ http://progit.org/book/ http://www.timdavis.com.au/git/setting-up-a-msysgit-server-with-copssh-on- windows/ Thursday, March 4, 2010