Your SlideShare is downloading. ×
Why  Git
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Why Git

2,794
views

Published on

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

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
2,794
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
54
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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
  • 5. File Based Change Tracking 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
  • 8. Commits -> Trees Thursday, March 4, 2010
  • 9. Refs (Branches) Refs -> Commits -> Trees -> Blobs Thursday, March 4, 2010
  • 10. Staging The Index (Staging Area) allows you to organize Does the comment make sense for the commit? Thursday, March 4, 2010
  • 11. Centralized Workflow Central Repository is treated as a hub for changes. It would drive automated builds. Thursday, March 4, 2010
  • 12. Distributed Workflow You can pull from any compatible* source Thursday, March 4, 2010
  • 13. Branch & Merge tracking Branch with changes Merged Tree Thursday, March 4, 2010
  • 14. Rebase? Take my commits and replay them after the HEAD of another branch. Thursday, March 4, 2010
  • 15. Windows Tools TortoiseGit Git Extensions msysgit Git Cheetah git-gui gitk Thursday, March 4, 2010
  • 16. Live Demo Time. 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
  • 18. Force things at your own risk. Thursday, March 4, 2010
  • 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. 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