Git'in on Windows


Published on

This speech aims to provide the basics of git, integrating with GitHub and TFS on the Windows platform.

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Git'in on Windows

  1. 1. Git’in on WindowsAn introduction to git on the Microsoft platform
  2. 2. About MeStacy Vicknair, MVP MCPDDevelopment Consultant for SparkhoundBlog - http://www.wtfnext.comBRAG - http://www.braglunch.comTM - http://www.batonrougespeaks.comTwitter: @svicknEmail:
  3. 3. Agenda• What is git?• Why (or why not) choose git?• Where do I git it?• git’in the basics• git’in against GitHub• git’in against TFS• Resources
  4. 4. What is git?• Distributed Version Control System (DVCS) – Like TFS’s source control, but “distributed”• Open Source under GNU LGPL v2.1• Freely available from
  5. 5. What is DVCS?• No true “central repository”• Not a checkout, it’s a clone• Check in when you want• Push to central server when it’s stable
  6. 6. Who’s git’in it• The Linux Kernel• Google for the Android OS• Ruby on Rails• PostgreSQL• Eclipse• Perl• Codeplex• … Git.
  7. 7. Why (or why not) choose git?Pros Cons• Free • Windows Second-Class• Distributed (self replicating) • Barrier to entry• Lightweight • Different permissions• Secure via SSH / HTTPS paradigm• Changeset driven • It’s not ALM, just DVCS• Easy branching / merging • Single repo management – Google’s Repo• Disconnected check-ins*based on Clearvision White Paper
  8. 8. Where do I git it? (see what I did there)git GitExtensions GUI / Explorer and VS integration for Windows for Windows gitflow Git extensions for high level branch process workflow extensions for Powershell for TFS access via git
  9. 9. Git’in the BasicsOm nom nom knowledge
  10. 10. Git Basics: Staging Image from
  11. 11. Git Basics: Ground levelgit init – Create a repogit add – Stage files in the indexgit commit – Commit a filegit status – List current modificationsgit log – List of checkin history
  12. 12. Git Basics: Stash, Branch and Mergegit stash – Hold changes for later retrievalgit branch – Create, delete and list branchesgit checkout – Switch branchesgit rebase – Rebase branch from parentgit merge – Merge from child branch
  13. 13. Git Intermediates: Repo AdministrationImages from
  14. 14. Git Intermediates:Repo Administration
  15. 15. Git Intermediates:Repo Administration
  16. 16. Git Intermediates:Repo Administration
  17. 17. Git’in against GitHub yeehaw
  18. 18. Git’in GitHub: Creating and Cloning• GitHub requires SSH• git clone – Copy existing repository locally• git push - Push changes to a different repo• git remote – Create, list and delete connected repos• git tag – Tags a version of the code
  19. 19. Git’in against TFS Moo.
  20. 20. Git’in TFS: clone, .gitignore, and checkintool• .gitignore files help prevent unwanted checkins• git tfs clone – Pull TFS repo with history• git tfs quickclone – No history• git tfs checkintool – TFS-esque checkin process• git tfs checkin – Git-esque quick checkin
  21. 21. Agenda• What is git?• Why (or why not) choose git?• Where do I git it?• git’in the basics• git’in against GitHub• git’in against TFS• Resources
  22. 22. ResourcesTutorials stacy.vicknair@sparkhound.comhttp://progit.org @svicknDownloads Resources