SlideShare a Scribd company logo
1 of 36
Git i Visual Studio 2013
Terje Sandstrøm
Visual Studio ALM MVP
http://geekswithblogs.net/terje
Inmeta Consulting AS
Inmeta Consulting AS - Terje Sandstrøm 2013
Lars J. Nilsson
ALM Manager
http://larzjoakimnilzzon.blogspot.no/
Inmeta Consulting AS
SHAMELESSLY
borrowed from
Richard
Banks
Visual Studio ALM MVP, Australia
http://www.Richard-banks.org
Http://www.readify.net/
Which again has …….
SHAMELESSLY
borrowed from
SCOTT
CHACON
(https://github.com/schacon/git-presentations
http://git-scm.com
• Git – intro
• Git repositories
• Working with git
• Branching
• Git in the Enterprise
Inmeta Consulting AS - Terje Sandstrøm 2013
git is
NOT AN
EVOLUTION
of existing VC systems
1
It is a
RETHINK
git is
NOT A
SOURCE CONTROL
SYSTEM
2
git is a
CONTENT
CONTROL SYSTEM
GIT is a
Distributed Version Control System
Fast, Small, Distributed
http://gitscm.com/
The entire Pro Git book
written by Scott Chacon is
available to read online for
free. Dead tree versions are
available on Amazon.com.
GIT DESIGN
a
TOOLKIT
for a DVCS
many chainable
COMMANDS
Traditional GIT is:
big on the
POWER
small on the
friendly
Easier tools
Visual Studio 2012 with Git extensions
Visual Studio 2013 , Git is included OOB
Add some nice tools:
SourceTree, Atlassian
https://github.com/Inmeta/Knowledge/wiki/recommended-git-
toolsInmeta Consulting AS - Terje Sandstrøm 2013
Git fully integrated
into Visual Studio
and TFS
Team Foundation Server / Service
Project 2Project 1
3rd Party3rd Party
Local
Repo
Other
Remote
Git Repo
most version control
systems store and track
CHANGES
(e.g. TFVC, SVN, mercurial)
C1
A
C
B
C2
∆1
∆1
C3
∆2
∆2
C4
∆3
C5
∆4
∆4
Git stores
SNAPSHOTS
of content
Snapshots are stored in a
DIRECTED ACYCLIC GRAPH
(i.e. a graph database)
C1
A
C
B
C2 C3 C4 C5
A’
C’
B
A’
C’’
B’
A’’
C’’
B’
A’’’
C’’
B’’
Git repo(sitory)
TFS 2013
Git repo(sitory)
GitHub/CodePlex/Bit
bucket
Cloning
Workspace
Code
Commit, (Stage), Add
Fetch, Pull, Push
Git repo(sitory)
Local
Inmeta Consulting AS - Terje Sandstrøm 2013
Repository models
Inmeta Consulting AS - Terje Sandstrøm 2013
Branching and merging
Frictionless context switching
Flexible
Fast
Inmeta Consulting AS - Terje Sandstrøm 2013
Demo
Inmeta Consulting AS - Terje Sandstrøm 2013
Terms with different meanings
Action TFS VC Git VS Git
Open a file Checkout NA, you just open it Marked as touched
(like checkout in
TFS VC)
Get latest files from
server
Get Latest Fetch + Pull Fetch + Pull
Send files to
server/repo
Checkin Commit + Push Commit + Push
Update all (two
above)
NA NA Sync
Does Pull + Push,
may trigger a merge
Move focus to
another branch
Manually change
folder in SC
Checkout Switch
Setup
Inmeta Consulting AS - Terje Sandstrøm 2013
•Git in the Enterprise
• Git is small
• Enterprises are big
• Enterprises are many small gits
Inmeta Consulting AS - Terje Sandstrøm 2013
Keep the git repo’s small
NO BINARIES IN SOURCE CONTROL !!!!!!!!!!!!
Use Nuget (or some other package manager) to keep binaries out
See https://github.com/Inmeta/Knowledge/wiki/NuGet-Setup
Publish your own libraries to a Nuget feed
Use MyGet http://www.myget.org/
Host your own Nuget feed, see
http://blog.spinthemoose.com/2013/03/09/nuget-tip-2-run-your-own-package-feed/
Inmeta Consulting AS - Terje Sandstrøm 2013
Managing a System with Git and Nuget
Split System into multiple Applications
Place each application in its own Git repository
Use a package manager to publish the binaries locally (within the company)
Use automatic package restore to retrieve them on build
Inmeta Consulting AS - Terje Sandstrøm 2013
Migrating from (or coexisting with) TFSVC to
GIT
Use Git-tf: https://gittf.codeplex.com/
(Download: http://www.microsoft.com/en-us/download/details.aspx?id=30474)
Clone a TFSVC TP or parts of a TP, into a git repo
Shallow clone or Deep Clone
Works on Windows and Mac
Inmeta Consulting AS - Terje Sandstrøm 2013
Splitting and merging repos
Split a repo:
Merge two repos:
Multiple ways:
1) simple with dual remote repos and just merge them
2) Git subtree
http://stackoverflow.com/questions/1425892/how-do-you-merge-two-git-repositories
Inmeta Consulting AS - Terje Sandstrøm 2013
Git repo(sitory)
LocalGit repo(sitory)
Local
Git repo(sitory)
TFS 2013
Git repo(sitory)
GitHub/CodePlex/Bit
bucket
Workspace
Code
Commit, (Stage), Add
Fetch, Pull, Push
Git repo(sitory)
Local
Inmeta Consulting AS - Terje Sandstrøm 2013
The future of Version Control in TFS
Then:
We had: Source Safe
We got : TFS VC
Now:
We have: TFS VC
We got: Git
Future: Microsoft hasn’t said, but we can assume.....
Inmeta Consulting AS - Terje Sandstrøm 2013
http://geekswithblogs.net/Terje

More Related Content

What's hot

Git - Simplified For Testers
Git - Simplified For TestersGit - Simplified For Testers
Git - Simplified For Testers
upadhyay_25
 

What's hot (20)

GitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorialGitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorial
 
Devoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery Analytics
Devoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery AnalyticsDevoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery Analytics
Devoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery Analytics
 
Zero-Downtime Gerrit Code Review Upgrade
Zero-Downtime Gerrit Code Review UpgradeZero-Downtime Gerrit Code Review Upgrade
Zero-Downtime Gerrit Code Review Upgrade
 
Gerrit is Getting Native with RPM, Deb and Docker
Gerrit is Getting Native with RPM, Deb and DockerGerrit is Getting Native with RPM, Deb and Docker
Gerrit is Getting Native with RPM, Deb and Docker
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab Introduction
 
GerritHub.io - present, past, future
GerritHub.io - present, past, futureGerritHub.io - present, past, future
GerritHub.io - present, past, future
 
Git kelvin
Git   kelvinGit   kelvin
Git kelvin
 
Gerrit Code Review: how to script a plugin with Scala and Groovy
Gerrit Code Review: how to script a plugin with Scala and GroovyGerrit Code Review: how to script a plugin with Scala and Groovy
Gerrit Code Review: how to script a plugin with Scala and Groovy
 
Gerrit Code Review Analytics
Gerrit Code Review AnalyticsGerrit Code Review Analytics
Gerrit Code Review Analytics
 
OpenTuesday: Agile Testautomatisierung und Continuous Integration
OpenTuesday: Agile Testautomatisierung und Continuous IntegrationOpenTuesday: Agile Testautomatisierung und Continuous Integration
OpenTuesday: Agile Testautomatisierung und Continuous Integration
 
Intro to Git & GitHub
Intro to Git & GitHubIntro to Git & GitHub
Intro to Git & GitHub
 
Bringing Pull Request to Gerrit
Bringing Pull Request to GerritBringing Pull Request to Gerrit
Bringing Pull Request to Gerrit
 
GitHub
GitHubGitHub
GitHub
 
Gerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginGerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub plugin
 
Getting Started with GitHub
Getting Started with GitHubGetting Started with GitHub
Getting Started with GitHub
 
Git Workshop
Git WorkshopGit Workshop
Git Workshop
 
Awesome Git Workflow for Agencies and Teams
Awesome Git Workflow for Agencies and TeamsAwesome Git Workflow for Agencies and Teams
Awesome Git Workflow for Agencies and Teams
 
Git - Simplified For Testers
Git - Simplified For TestersGit - Simplified For Testers
Git - Simplified For Testers
 
Gerrit linuxtag2011
Gerrit linuxtag2011Gerrit linuxtag2011
Gerrit linuxtag2011
 
Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)
 

Similar to Git i tfs 2013

Processes & tooling to develop the editor
Processes & tooling to develop the editorProcesses & tooling to develop the editor
Processes & tooling to develop the editor
Tech Head Brothers
 
3 Git
3 Git3 Git
Introduction to git and stash
Introduction to git and stashIntroduction to git and stash
Introduction to git and stash
Xpand IT
 

Similar to Git i tfs 2013 (20)

Introduction to git & github
Introduction to git & githubIntroduction to git & github
Introduction to git & github
 
Processes & tooling to develop the editor
Processes & tooling to develop the editorProcesses & tooling to develop the editor
Processes & tooling to develop the editor
 
Git
GitGit
Git
 
Introduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech ArticleIntroduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech Article
 
Git workshop
Git workshopGit workshop
Git workshop
 
3 Git
3 Git3 Git
3 Git
 
Introduction to git administration
Introduction to git administrationIntroduction to git administration
Introduction to git administration
 
Bedjango talk about Git & GitHub
Bedjango talk about Git & GitHubBedjango talk about Git & GitHub
Bedjango talk about Git & GitHub
 
Git introduction
Git introductionGit introduction
Git introduction
 
Open up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHubOpen up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHub
 
Gitting better
Gitting betterGitting better
Gitting better
 
True Git
True Git True Git
True Git
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
 
You're doing it wrong! Git it right!
You're doing it wrong! Git it right!You're doing it wrong! Git it right!
You're doing it wrong! Git it right!
 
Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015
 
Introduction to git and stash
Introduction to git and stashIntroduction to git and stash
Introduction to git and stash
 
JAZOON'13 - Stefan Saasen - True Git: The Great Migration
JAZOON'13 - Stefan Saasen - True Git: The Great MigrationJAZOON'13 - Stefan Saasen - True Git: The Great Migration
JAZOON'13 - Stefan Saasen - True Git: The Great Migration
 
Webinar: Arbeiten mit Git und GitHub
Webinar: Arbeiten mit Git und GitHubWebinar: Arbeiten mit Git und GitHub
Webinar: Arbeiten mit Git und GitHub
 
Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 

Recently uploaded

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Recently uploaded (20)

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 

Git i tfs 2013

  • 1. Git i Visual Studio 2013 Terje Sandstrøm Visual Studio ALM MVP http://geekswithblogs.net/terje Inmeta Consulting AS Inmeta Consulting AS - Terje Sandstrøm 2013 Lars J. Nilsson ALM Manager http://larzjoakimnilzzon.blogspot.no/ Inmeta Consulting AS
  • 2. SHAMELESSLY borrowed from Richard Banks Visual Studio ALM MVP, Australia http://www.Richard-banks.org Http://www.readify.net/ Which again has …….
  • 4. • Git – intro • Git repositories • Working with git • Branching • Git in the Enterprise Inmeta Consulting AS - Terje Sandstrøm 2013
  • 5. git is NOT AN EVOLUTION of existing VC systems 1
  • 7. git is NOT A SOURCE CONTROL SYSTEM 2
  • 9. GIT is a Distributed Version Control System Fast, Small, Distributed http://gitscm.com/ The entire Pro Git book written by Scott Chacon is available to read online for free. Dead tree versions are available on Amazon.com.
  • 13.
  • 14. Traditional GIT is: big on the POWER small on the friendly
  • 15. Easier tools Visual Studio 2012 with Git extensions Visual Studio 2013 , Git is included OOB Add some nice tools: SourceTree, Atlassian https://github.com/Inmeta/Knowledge/wiki/recommended-git- toolsInmeta Consulting AS - Terje Sandstrøm 2013
  • 16. Git fully integrated into Visual Studio and TFS
  • 17. Team Foundation Server / Service Project 2Project 1 3rd Party3rd Party Local Repo Other Remote Git Repo
  • 18. most version control systems store and track CHANGES (e.g. TFVC, SVN, mercurial)
  • 21. Snapshots are stored in a DIRECTED ACYCLIC GRAPH (i.e. a graph database)
  • 22. C1 A C B C2 C3 C4 C5 A’ C’ B A’ C’’ B’ A’’ C’’ B’ A’’’ C’’ B’’
  • 23. Git repo(sitory) TFS 2013 Git repo(sitory) GitHub/CodePlex/Bit bucket Cloning Workspace Code Commit, (Stage), Add Fetch, Pull, Push Git repo(sitory) Local Inmeta Consulting AS - Terje Sandstrøm 2013
  • 24. Repository models Inmeta Consulting AS - Terje Sandstrøm 2013
  • 25. Branching and merging Frictionless context switching Flexible Fast Inmeta Consulting AS - Terje Sandstrøm 2013
  • 26. Demo
  • 27. Inmeta Consulting AS - Terje Sandstrøm 2013 Terms with different meanings Action TFS VC Git VS Git Open a file Checkout NA, you just open it Marked as touched (like checkout in TFS VC) Get latest files from server Get Latest Fetch + Pull Fetch + Pull Send files to server/repo Checkin Commit + Push Commit + Push Update all (two above) NA NA Sync Does Pull + Push, may trigger a merge Move focus to another branch Manually change folder in SC Checkout Switch
  • 28. Setup Inmeta Consulting AS - Terje Sandstrøm 2013
  • 29. •Git in the Enterprise • Git is small • Enterprises are big • Enterprises are many small gits Inmeta Consulting AS - Terje Sandstrøm 2013
  • 30. Keep the git repo’s small NO BINARIES IN SOURCE CONTROL !!!!!!!!!!!! Use Nuget (or some other package manager) to keep binaries out See https://github.com/Inmeta/Knowledge/wiki/NuGet-Setup Publish your own libraries to a Nuget feed Use MyGet http://www.myget.org/ Host your own Nuget feed, see http://blog.spinthemoose.com/2013/03/09/nuget-tip-2-run-your-own-package-feed/ Inmeta Consulting AS - Terje Sandstrøm 2013
  • 31. Managing a System with Git and Nuget Split System into multiple Applications Place each application in its own Git repository Use a package manager to publish the binaries locally (within the company) Use automatic package restore to retrieve them on build Inmeta Consulting AS - Terje Sandstrøm 2013
  • 32. Migrating from (or coexisting with) TFSVC to GIT Use Git-tf: https://gittf.codeplex.com/ (Download: http://www.microsoft.com/en-us/download/details.aspx?id=30474) Clone a TFSVC TP or parts of a TP, into a git repo Shallow clone or Deep Clone Works on Windows and Mac Inmeta Consulting AS - Terje Sandstrøm 2013
  • 33. Splitting and merging repos Split a repo: Merge two repos: Multiple ways: 1) simple with dual remote repos and just merge them 2) Git subtree http://stackoverflow.com/questions/1425892/how-do-you-merge-two-git-repositories Inmeta Consulting AS - Terje Sandstrøm 2013
  • 34. Git repo(sitory) LocalGit repo(sitory) Local Git repo(sitory) TFS 2013 Git repo(sitory) GitHub/CodePlex/Bit bucket Workspace Code Commit, (Stage), Add Fetch, Pull, Push Git repo(sitory) Local Inmeta Consulting AS - Terje Sandstrøm 2013
  • 35. The future of Version Control in TFS Then: We had: Source Safe We got : TFS VC Now: We have: TFS VC We got: Git Future: Microsoft hasn’t said, but we can assume..... Inmeta Consulting AS - Terje Sandstrøm 2013