SlideShare a Scribd company logo
1 of 22
Download to read offline
Git’in on Windows
An introduction to git on the
     Microsoft platform
About Me
Stacy Vicknair, MVP MCPD
Development Consultant for Sparkhound

Blog - http://www.wtfnext.com
BRAG - http://www.braglunch.com
TM - http://www.batonrougespeaks.com

Twitter: @svickn
Email: stacy.vicknair@sparkhound.com
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
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 http://git-scm.com
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
Who’s git’in it
•   The Linux Kernel
•   Google for the Android OS
•   Ruby on Rails
•   PostgreSQL
•   Eclipse
•   Perl
•   Codeplex
•   … Git.
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
Where do I git it?
                                         (see what I did there)

git                                                   GitExtensions
http://git-scm.com/                                   GUI / Explorer and VS integration for Windows
                                                      http://code.google.com/p/msysgit/

msysgit
Git for Windows                                       gitflow
http://code.google.com/p/msysgit/                     Git extensions for high level branch process workflow
                                                      https://github.com/nvie/gitflow

posh-git
Git extensions for Powershell
https://github.com/dahlbyk/posh-git


git-tfs
Allows for TFS access via git
https://github.com/git-tfs/git-tfs
Git’in the Basics
Om nom nom knowledge
Git Basics: Staging




    Image from http://progit.org
Git Basics: Ground level
git init – Create a repo
git add – Stage files in the index
git commit – Commit a file
git status – List current modifications
git log – List of checkin history
Git Basics: Stash, Branch and Merge
git stash – Hold changes for later retrieval
git branch – Create, delete and list branches
git checkout – Switch branches
git rebase – Rebase branch from parent
git merge – Merge from child branch
Git Intermediates:
                    Repo Administration




Images from http://whygitisbetterthanx.com
Git Intermediates:
Repo Administration
Git Intermediates:
Repo Administration
Git Intermediates:
Repo Administration
Git’in against GitHub
        yeehaw
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
Git’in against TFS
       Moo.
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
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
Resources
Tutorials
                                                       stacy.vicknair@sparkhound.com
http://progit.org
http://book.git-scm.com/                                                      @svickn

Downloads
http://git-scm.com/
http://code.google.com/p/msysgit/
https://github.com/dahlbyk/posh-git
https://github.com/git-tfs/git-tfs
http://code.google.com/p/msysgit/
https://github.com/nvie/gitflow

Presentation Resources
http://stackoverflow.com/questions/4140133/how-does-tfss-shelveset-model-compare-to-a-dvcs
http://haacked.com/archive/2011/12/19/get-git-for-windows.aspx
http://nathanj.github.com/gitguide/tour.html
http://www.clearvision-cm.com/whitepapers/Clearvision%20-%20Git%20White%20Paper.pdf
http://whygitisbetterthanx.com

More Related Content

What's hot

What's hot (20)

Git & Github
Git & GithubGit & Github
Git & Github
 
Git kelvin
Git   kelvinGit   kelvin
Git kelvin
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 
Brief tutorial on Git
Brief tutorial on GitBrief tutorial on Git
Brief tutorial on Git
 
Intro to Git & GitHub
Intro to Git & GitHubIntro to Git & GitHub
Intro to Git & GitHub
 
Git: A Getting Started Presentation
Git: A Getting Started PresentationGit: A Getting Started Presentation
Git: A Getting Started Presentation
 
Open source
Open sourceOpen source
Open source
 
Git for Beginners
Git for BeginnersGit for Beginners
Git for Beginners
 
Mini git tutorial
Mini git tutorialMini git tutorial
Mini git tutorial
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
 
Up GitLab Presentation 2015
Up GitLab Presentation 2015Up GitLab Presentation 2015
Up GitLab Presentation 2015
 
Git Introduction
Git IntroductionGit Introduction
Git Introduction
 
Git advanced
Git advancedGit advanced
Git advanced
 
Git and github fundamentals
Git and github fundamentalsGit and github fundamentals
Git and github fundamentals
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab Introduction
 
Git basics
Git basicsGit basics
Git basics
 
GitHub
GitHubGitHub
GitHub
 
Why we ditched TFS and embraced Git, Github, TeamCity and Myget
Why we ditched TFS and embraced Git, Github, TeamCity and MygetWhy we ditched TFS and embraced Git, Github, TeamCity and Myget
Why we ditched TFS and embraced Git, Github, TeamCity and Myget
 
How Git and Gerrit make you more productive
How Git and Gerrit make you more productiveHow Git and Gerrit make you more productive
How Git and Gerrit make you more productive
 
Know the Science behind WorkFlows using Git & GitHhub
Know the Science behind WorkFlows using Git & GitHhubKnow the Science behind WorkFlows using Git & GitHhub
Know the Science behind WorkFlows using Git & GitHhub
 

Similar to Git'in on Windows

Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An IntroductionBehzad Altaf
 
Git isthenewsexy
Git isthenewsexyGit isthenewsexy
Git isthenewsexyAilsa126
 
Git简介
Git简介Git简介
Git简介clvrobj
 
Why Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anywaysWhy Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anywaysCarlos Taborda
 
The Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHubThe Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHubBigBlueHat
 
Git Obstacle Course: Stop BASHing your head and break down the basics
Git Obstacle Course: Stop BASHing your head and break down the basicsGit Obstacle Course: Stop BASHing your head and break down the basics
Git Obstacle Course: Stop BASHing your head and break down the basicsChris Bohatka
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to GitColin Su
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIsTim Osborn
 
Git installation and configuration
Git installation and configurationGit installation and configuration
Git installation and configurationKishor Kumar
 
Git presentation
Git presentationGit presentation
Git presentationEdson Celio
 
Learn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levelsLearn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levelsGorav Singal
 
Git version control and trunk based approach with VSTS
Git version control and trunk based approach with VSTSGit version control and trunk based approach with VSTS
Git version control and trunk based approach with VSTSMurughan Palaniachari
 
Practical Git - NYC Code Camp
Practical Git - NYC Code CampPractical Git - NYC Code Camp
Practical Git - NYC Code CampChristopher Gomez
 

Similar to Git'in on Windows (20)

Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
 
Git isthenewsexy
Git isthenewsexyGit isthenewsexy
Git isthenewsexy
 
Git简介
Git简介Git简介
Git简介
 
Why Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anywaysWhy Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anyways
 
The Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHubThe Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHub
 
Git Obstacle Course: Stop BASHing your head and break down the basics
Git Obstacle Course: Stop BASHing your head and break down the basicsGit Obstacle Course: Stop BASHing your head and break down the basics
Git Obstacle Course: Stop BASHing your head and break down the basics
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIs
 
Demo
DemoDemo
Demo
 
Git
GitGit
Git
 
Git basics
Git basicsGit basics
Git basics
 
Git installation and configuration
Git installation and configurationGit installation and configuration
Git installation and configuration
 
Git presentation
Git presentationGit presentation
Git presentation
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
Learn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levelsLearn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levels
 
Git Heaven with Wakanda
Git Heaven with WakandaGit Heaven with Wakanda
Git Heaven with Wakanda
 
Git Presentation
Git PresentationGit Presentation
Git Presentation
 
Git version control and trunk based approach with VSTS
Git version control and trunk based approach with VSTSGit version control and trunk based approach with VSTS
Git version control and trunk based approach with VSTS
 
Practical Git - NYC Code Camp
Practical Git - NYC Code CampPractical Git - NYC Code Camp
Practical Git - NYC Code Camp
 
Intro to git
Intro to gitIntro to git
Intro to git
 

More from Stacy Vicknair

Systems Thinking for Engineering Leaders.pdf
Systems Thinking for Engineering Leaders.pdfSystems Thinking for Engineering Leaders.pdf
Systems Thinking for Engineering Leaders.pdfStacy Vicknair
 
The Game Master's Guide to People Management
The Game Master's Guide to People ManagementThe Game Master's Guide to People Management
The Game Master's Guide to People ManagementStacy Vicknair
 
Maintainable Documentation with Sphinx
Maintainable Documentation with SphinxMaintainable Documentation with Sphinx
Maintainable Documentation with SphinxStacy Vicknair
 
Building Faster Horses: Taking Over An Existing Software Product
Building Faster Horses: Taking Over An Existing Software ProductBuilding Faster Horses: Taking Over An Existing Software Product
Building Faster Horses: Taking Over An Existing Software ProductStacy Vicknair
 
ASP.NET Routing Deep Dive
ASP.NET Routing Deep DiveASP.NET Routing Deep Dive
ASP.NET Routing Deep DiveStacy Vicknair
 
ASP.NET Routing Deep Dive
ASP.NET Routing Deep DiveASP.NET Routing Deep Dive
ASP.NET Routing Deep DiveStacy Vicknair
 
Asp.net routing with mvc deep dive
Asp.net routing with mvc deep diveAsp.net routing with mvc deep dive
Asp.net routing with mvc deep diveStacy Vicknair
 

More from Stacy Vicknair (7)

Systems Thinking for Engineering Leaders.pdf
Systems Thinking for Engineering Leaders.pdfSystems Thinking for Engineering Leaders.pdf
Systems Thinking for Engineering Leaders.pdf
 
The Game Master's Guide to People Management
The Game Master's Guide to People ManagementThe Game Master's Guide to People Management
The Game Master's Guide to People Management
 
Maintainable Documentation with Sphinx
Maintainable Documentation with SphinxMaintainable Documentation with Sphinx
Maintainable Documentation with Sphinx
 
Building Faster Horses: Taking Over An Existing Software Product
Building Faster Horses: Taking Over An Existing Software ProductBuilding Faster Horses: Taking Over An Existing Software Product
Building Faster Horses: Taking Over An Existing Software Product
 
ASP.NET Routing Deep Dive
ASP.NET Routing Deep DiveASP.NET Routing Deep Dive
ASP.NET Routing Deep Dive
 
ASP.NET Routing Deep Dive
ASP.NET Routing Deep DiveASP.NET Routing Deep Dive
ASP.NET Routing Deep Dive
 
Asp.net routing with mvc deep dive
Asp.net routing with mvc deep diveAsp.net routing with mvc deep dive
Asp.net routing with mvc deep dive
 

Recently uploaded

AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 

Recently uploaded (20)

AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 

Git'in on Windows

  • 1. Git’in on Windows An introduction to git on the Microsoft platform
  • 2. About Me Stacy Vicknair, MVP MCPD Development Consultant for Sparkhound Blog - http://www.wtfnext.com BRAG - http://www.braglunch.com TM - http://www.batonrougespeaks.com Twitter: @svickn Email: stacy.vicknair@sparkhound.com
  • 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. 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 http://git-scm.com
  • 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. Who’s git’in it • The Linux Kernel • Google for the Android OS • Ruby on Rails • PostgreSQL • Eclipse • Perl • Codeplex • … Git.
  • 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. Where do I git it? (see what I did there) git GitExtensions http://git-scm.com/ GUI / Explorer and VS integration for Windows http://code.google.com/p/msysgit/ msysgit Git for Windows gitflow http://code.google.com/p/msysgit/ Git extensions for high level branch process workflow https://github.com/nvie/gitflow posh-git Git extensions for Powershell https://github.com/dahlbyk/posh-git git-tfs Allows for TFS access via git https://github.com/git-tfs/git-tfs
  • 9. Git’in the Basics Om nom nom knowledge
  • 10. Git Basics: Staging Image from http://progit.org
  • 11. Git Basics: Ground level git init – Create a repo git add – Stage files in the index git commit – Commit a file git status – List current modifications git log – List of checkin history
  • 12. Git Basics: Stash, Branch and Merge git stash – Hold changes for later retrieval git branch – Create, delete and list branches git checkout – Switch branches git rebase – Rebase branch from parent git merge – Merge from child branch
  • 13. Git Intermediates: Repo Administration Images from http://whygitisbetterthanx.com
  • 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
  • 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. 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. Resources Tutorials stacy.vicknair@sparkhound.com http://progit.org http://book.git-scm.com/ @svickn Downloads http://git-scm.com/ http://code.google.com/p/msysgit/ https://github.com/dahlbyk/posh-git https://github.com/git-tfs/git-tfs http://code.google.com/p/msysgit/ https://github.com/nvie/gitflow Presentation Resources http://stackoverflow.com/questions/4140133/how-does-tfss-shelveset-model-compare-to-a-dvcs http://haacked.com/archive/2011/12/19/get-git-for-windows.aspx http://nathanj.github.com/gitguide/tour.html http://www.clearvision-cm.com/whitepapers/Clearvision%20-%20Git%20White%20Paper.pdf http://whygitisbetterthanx.com