Your SlideShare is downloading. ×
Why  Git
Why  Git
Why  Git
Why  Git
Why  Git
Why  Git
Why  Git
Why  Git
Why  Git
Why  Git
Why  Git
Why  Git
Why  Git
Why  Git
Why  Git
Why  Git
Why  Git
Why  Git
Why  Git
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,851

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,851
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
55
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

×