Why Git

4,195 views
4,181 views

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,195
On SlideShare
0
From Embeds
0
Number of Embeds
1,354
Actions
Shares
0
Downloads
56
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Why Git

  1. 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. 2. What is Git Distributed Version Control Fast (small C core) Popular (Github) Stupid Content Tracker Thursday, March 4, 2010
  3. 3. Benefits Easier Merging Cheap fast branching Speed Checkout size Maintains an easily usable history Redundancy by default Thursday, March 4, 2010
  4. 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
  5. 5. File Based Change Tracking Thursday, March 4, 2010
  6. 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. 7. Stupid Content Tracking Simple object relationships. Tree (folder) -> Blob (file data) Thursday, March 4, 2010
  8. 8. Commits -> Trees Thursday, March 4, 2010
  9. 9. Refs (Branches) Refs -> Commits -> Trees -> Blobs Thursday, March 4, 2010
  10. 10. Staging The Index (Staging Area) allows you to organize Does the comment make sense for the commit? Thursday, March 4, 2010
  11. 11. Centralized Workflow Central Repository is treated as a hub for changes. It would drive automated builds. Thursday, March 4, 2010
  12. 12. Distributed Workflow You can pull from any compatible* source Thursday, March 4, 2010
  13. 13. Branch & Merge tracking Branch with changes Merged Tree Thursday, March 4, 2010
  14. 14. Rebase? Take my commits and replay them after the HEAD of another branch. Thursday, March 4, 2010
  15. 15. Windows Tools TortoiseGit Git Extensions msysgit Git Cheetah git-gui gitk Thursday, March 4, 2010
  16. 16. Live Demo Time. Thursday, March 4, 2010
  17. 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
  18. 18. Force things at your own risk. Thursday, March 4, 2010
  19. 19. Why I choose Git. Merging with history Quick branch switching Stashing and Staging Best SCM I’ve used so far. Thursday, March 4, 2010
  20. 20. 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

×