SlideShare une entreprise Scribd logo
1  sur  60
Who Am I?
Alexander Vanwynsberghe
Houthulst
Working @ Cronos
ALM (MVP) and ESN
@Vanwynsberghea

www.alexandervanwynsberghe.be
Source Control
Agenda
Source control in
general

Git with Visual Studio

Git on TFS or VisualStudio.com

Git with TFS Build
Git as deployment protocol
Git on TFS in Cross-platform environments
Source Control Models
Centralized

Distributed
Back in the old days
Prior to TFS
“SourceSafe gives you the illusion of safety
and control, while exposing your project to
risk”

“SourceSafe teaches developers bad habits
like: avoid branching, exclusive locks, easy
permanent deletions”
Codinghorror.com
Visual Studio 2005 Team System
Visual Studio 2008 Team System

Visual Studio Team Foundation Server 2010

TFVC
Centralized Version Control System
based on (server) workspaces
Rollback

Cloak

Check-out

Add

Shelving

Changeset
Label

Check-out lock

History

Pending Change

Check-in
Compare
Disadvantages

1

Offline scenario’s

2 Read-only files
3 You need Visual Studio
(or TEE or the Power Tools for Shell integration)
Server Workspaces
• You talk to TFS when you check-out
• Allows you to do security on check-out
• Visibility at all times into what everyone is doing

• Great for large codebases
Visual Studio Team Foundation Server 2012

TFVC

V2

Local Workspaces
Centralized Version Control System
based on (local) workspaces

$TF
Local Workspaces
• Default for TFS 2012
• No explicit checkout = easy to edit outside of
Visual Studio or Eclipse
• Get Latest & Check in Compares local cache
against the server
• Problematic for large codebases
Conclusion
Strengths

Best for

•

Scales to very large codebases

•

Large integrated codebases

•

Fine level permission control

•

•

Control and auditability over
source code down to the file level

Allows usage monitoring

•

Offline editing support

•

Medium-sized integrated
codebases

•

Easy to edit files outside Visual
Studio or Eclipse

•

A balance of fine-grained control
with reduced friction
If you really want TFVC
if (number of files > 100,000 ) || (locking = required)) {
return “consider server workspace”;
}
else {
return “consider local workspace”;
}
Server vs Local Workspaces
Modern Apps and OSS workflows
 App Architecture: suite of loosely coupled
systems
 Team: Written by small/discrete and distributed
 Platforms: Multiple platforms and dev
environments (Windows, iOS, Android)
 Open source components
There were 2 players

Git
Git took off
 Git is the Leading DVCS Tool
 Adoption of Git is growing exponentially

 Git as a Deployment Protocol
 Used to deploy web applications on many cloud
providers (Windows Azure, Heroku, Facebook)

 Git has support across platforms
There were some principles

100% true Git
join the community
Team Foundation Server 2013 & Visualstudio.com

Git

100%

Visual Studio 2012 (+Tools for Git) & Visual Studio 2013
Git

Strengths

Best for

•

Full offline experience

•

Modular codebases

•

Complete repository with portable
history

•

Integrating with open source

•

Highly distributed teams

•

Simplified branching model
Team Foundation Server / VisualStudio online

Project 1
3rd Party

Project 2

Local
Repo

3rd Party

Other
Remote
Git Repo
Migration & Web Interface
for dummies
Git

TFVC

commit

/

push

check-in

fetch

get-latest

pull

get-latest + merge
init/clone

add

Super Simple Git
Workflow
for the lone wolf
Staged

commit
To a remote

push
init/clone

add/commit

pull

push

Super Simple Team
Workflow
for the hyper agile team
Feature Branches

init/clone

Short lived, Isolated Sandboxes
branch

checkout

checkout

add/commit

merge

push
Clone the code
Push the modifications
Everything is synchronized
Branches
Using Git with Visual Studio
TFS Build
Deployment protocol
Cross-platform

TEE

EGit
TFS Build + Cross-platform
Enterprise class support
Ease of installation
Support and servicing
Ease of management
Integrated Authentication
Enhanced permissions
ALM Integration
I want to..

In Visual Studio?

Command prompt

Get information about your
local repository (such as the
remotes you are tracking)

If the repository is in a TFS
team project, then yes.
Otherwise, no.

git-remote

No, but you can view them.

You can use the command
prompt to push, edit, and
remove tags.

Create or edit a note

No

You can use the command
prompt to push, edit, and
remove notes

Amend your last commit

No

git-commit

Undo a committed change by
applying the inverse of the
commit.

No

git-revert

Re-order history or combine
(squash) commits.

No

Rebasing

Apply a tag to a commit
Team Foundation
Version Control

Git
(hosted by TFS)
When to Pick
TFVC

Git

• Developers familiar with
Centralized version control

• Developers want to use it

• Highly coupled codebase
• Tight audit/control
requirements
• Use of MyWork + Code Review

• Using tools with built-in Git
support
• XCode / iOS Development
Remember
Source Control is only a
part of an ALM solution!
Taking your version control to a next level with TFS and Git

Contenu connexe

Tendances

CD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfCD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfKnoldus Inc.
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub ActionsBo-Yi Wu
 
Introduction to Gitlab
Introduction to GitlabIntroduction to Gitlab
Introduction to GitlabJulien Pivotto
 
CICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsCICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsKumar Shìvam
 
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Gibran Badrulzaman
 
CI with Gitlab & Docker
CI with Gitlab & DockerCI with Gitlab & Docker
CI with Gitlab & DockerJoerg Henning
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesAmazon Web Services
 
ArgoCD Meetup PPT final.pdf
ArgoCD Meetup PPT final.pdfArgoCD Meetup PPT final.pdf
ArgoCD Meetup PPT final.pdfamanmakwana3
 
Learning git
Learning gitLearning git
Learning gitSid Anand
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab IntroductionKrunal Doshi
 
Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD Annie Huang
 
Git-flow workflow and pull-requests
Git-flow workflow and pull-requestsGit-flow workflow and pull-requests
Git-flow workflow and pull-requestsBartosz Kosarzycki
 
Gitops: the kubernetes way
Gitops: the kubernetes wayGitops: the kubernetes way
Gitops: the kubernetes waysparkfabrik
 

Tendances (20)

Git basics
Git basicsGit basics
Git basics
 
CD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfCD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdf
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Gitops Hands On
Gitops Hands OnGitops Hands On
Gitops Hands On
 
Introduction to Gitlab
Introduction to GitlabIntroduction to Gitlab
Introduction to Gitlab
 
CICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsCICD Pipeline Using Github Actions
CICD Pipeline Using Github Actions
 
GIT INTRODUCTION
GIT INTRODUCTIONGIT INTRODUCTION
GIT INTRODUCTION
 
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
 
CI with Gitlab & Docker
CI with Gitlab & DockerCI with Gitlab & Docker
CI with Gitlab & Docker
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
ArgoCD Meetup PPT final.pdf
ArgoCD Meetup PPT final.pdfArgoCD Meetup PPT final.pdf
ArgoCD Meetup PPT final.pdf
 
Learning git
Learning gitLearning git
Learning git
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab Introduction
 
Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD Webinar - Unbox GitLab CI/CD
Webinar - Unbox GitLab CI/CD
 
Git-flow workflow and pull-requests
Git-flow workflow and pull-requestsGit-flow workflow and pull-requests
Git-flow workflow and pull-requests
 
Git n git hub
Git n git hubGit n git hub
Git n git hub
 
Devops and git basics
Devops and git basicsDevops and git basics
Devops and git basics
 
Gitops: the kubernetes way
Gitops: the kubernetes wayGitops: the kubernetes way
Gitops: the kubernetes way
 
Git and Github Session
Git and Github SessionGit and Github Session
Git and Github Session
 

En vedette

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 MygetDennis Doomen
 
Getting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersGetting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersNoam Kfir
 
Retour d’expérience sur ‘TFS Online’ (VSTS) dans une solution industrielle (c...
Retour d’expérience sur ‘TFS Online’ (VSTS) dans une solution industrielle (c...Retour d’expérience sur ‘TFS Online’ (VSTS) dans une solution industrielle (c...
Retour d’expérience sur ‘TFS Online’ (VSTS) dans une solution industrielle (c...Microsoft Technet France
 
Developing for SharePoint Online
Developing for SharePoint OnlineDeveloping for SharePoint Online
Developing for SharePoint OnlineAri Bakker
 
Training: Day Two - Eclipse, Git, Maven
Training: Day Two - Eclipse, Git, MavenTraining: Day Two - Eclipse, Git, Maven
Training: Day Two - Eclipse, Git, MavenArtur Ventura
 
OWASP Top 10 webbsäkerhet
OWASP Top 10 webbsäkerhetOWASP Top 10 webbsäkerhet
OWASP Top 10 webbsäkerhetJonas Lejon
 
Microsoft Experieces 2016 - Retour d’expériences sur TFS Online
Microsoft Experieces 2016 - Retour d’expériences sur TFS OnlineMicrosoft Experieces 2016 - Retour d’expériences sur TFS Online
Microsoft Experieces 2016 - Retour d’expériences sur TFS OnlineDenis Voituron
 
From svn to git
From svn to gitFrom svn to git
From svn to gitNehal Shah
 
Git: A Getting Started Presentation
Git: A Getting Started PresentationGit: A Getting Started Presentation
Git: A Getting Started PresentationNap Ramirez
 
Beefing Up Security In ASP.NET Part 2 Dot Net Bangalore 4th meet up on August...
Beefing Up Security In ASP.NET Part 2 Dot Net Bangalore 4th meet up on August...Beefing Up Security In ASP.NET Part 2 Dot Net Bangalore 4th meet up on August...
Beefing Up Security In ASP.NET Part 2 Dot Net Bangalore 4th meet up on August...gmaran23
 
Svn vs mercurial vs github
Svn  vs  mercurial vs  githubSvn  vs  mercurial vs  github
Svn vs mercurial vs githubVinoth Kannan
 
AppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityAppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityMatt Tesauro
 
Practical Security Testing for Developers using OWASP ZAP at Dot Net Bangalor...
Practical Security Testing for Developers using OWASP ZAP at Dot Net Bangalor...Practical Security Testing for Developers using OWASP ZAP at Dot Net Bangalor...
Practical Security Testing for Developers using OWASP ZAP at Dot Net Bangalor...gmaran23
 
Simplify Dev with Complicated Security Tools
Simplify Dev with Complicated Security ToolsSimplify Dev with Complicated Security Tools
Simplify Dev with Complicated Security ToolsKevin Fealey
 
HCM Scrum Breakfast – The real life of Scrumban team
HCM Scrum Breakfast – The real life of Scrumban teamHCM Scrum Breakfast – The real life of Scrumban team
HCM Scrum Breakfast – The real life of Scrumban teamScrum Breakfast Vietnam
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to GitLukas Fittl
 

En vedette (20)

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
 
Healthcare is shifting gears
Healthcare is shifting gearsHealthcare is shifting gears
Healthcare is shifting gears
 
Getting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersGetting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS Users
 
Retour d’expérience sur ‘TFS Online’ (VSTS) dans une solution industrielle (c...
Retour d’expérience sur ‘TFS Online’ (VSTS) dans une solution industrielle (c...Retour d’expérience sur ‘TFS Online’ (VSTS) dans une solution industrielle (c...
Retour d’expérience sur ‘TFS Online’ (VSTS) dans une solution industrielle (c...
 
Developing for SharePoint Online
Developing for SharePoint OnlineDeveloping for SharePoint Online
Developing for SharePoint Online
 
Training: Day Two - Eclipse, Git, Maven
Training: Day Two - Eclipse, Git, MavenTraining: Day Two - Eclipse, Git, Maven
Training: Day Two - Eclipse, Git, Maven
 
Tfs
TfsTfs
Tfs
 
OWASP Top 10 webbsäkerhet
OWASP Top 10 webbsäkerhetOWASP Top 10 webbsäkerhet
OWASP Top 10 webbsäkerhet
 
Microsoft Experieces 2016 - Retour d’expériences sur TFS Online
Microsoft Experieces 2016 - Retour d’expériences sur TFS OnlineMicrosoft Experieces 2016 - Retour d’expériences sur TFS Online
Microsoft Experieces 2016 - Retour d’expériences sur TFS Online
 
Lets git to it
Lets git to itLets git to it
Lets git to it
 
From svn to git
From svn to gitFrom svn to git
From svn to git
 
Git: A Getting Started Presentation
Git: A Getting Started PresentationGit: A Getting Started Presentation
Git: A Getting Started Presentation
 
Beefing Up Security In ASP.NET Part 2 Dot Net Bangalore 4th meet up on August...
Beefing Up Security In ASP.NET Part 2 Dot Net Bangalore 4th meet up on August...Beefing Up Security In ASP.NET Part 2 Dot Net Bangalore 4th meet up on August...
Beefing Up Security In ASP.NET Part 2 Dot Net Bangalore 4th meet up on August...
 
Svn vs mercurial vs github
Svn  vs  mercurial vs  githubSvn  vs  mercurial vs  github
Svn vs mercurial vs github
 
AppSec Pipelines and Event based Security
AppSec Pipelines and Event based SecurityAppSec Pipelines and Event based Security
AppSec Pipelines and Event based Security
 
Practical Security Testing for Developers using OWASP ZAP at Dot Net Bangalor...
Practical Security Testing for Developers using OWASP ZAP at Dot Net Bangalor...Practical Security Testing for Developers using OWASP ZAP at Dot Net Bangalor...
Practical Security Testing for Developers using OWASP ZAP at Dot Net Bangalor...
 
Git Introduction
Git IntroductionGit Introduction
Git Introduction
 
Simplify Dev with Complicated Security Tools
Simplify Dev with Complicated Security ToolsSimplify Dev with Complicated Security Tools
Simplify Dev with Complicated Security Tools
 
HCM Scrum Breakfast – The real life of Scrumban team
HCM Scrum Breakfast – The real life of Scrumban teamHCM Scrum Breakfast – The real life of Scrumban team
HCM Scrum Breakfast – The real life of Scrumban team
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 

Similaire à Taking your version control to a next level with TFS and Git

Perforce helix git swarm jan 2016(pva1) meetup
Perforce helix git swarm jan 2016(pva1) meetupPerforce helix git swarm jan 2016(pva1) meetup
Perforce helix git swarm jan 2016(pva1) meetupdsdata systems
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Janusz Nowak
 
Controle do ciclo de vida do desenvolvimento de software com tfs vsts
Controle do ciclo de vida do desenvolvimento de software com tfs  vstsControle do ciclo de vida do desenvolvimento de software com tfs  vsts
Controle do ciclo de vida do desenvolvimento de software com tfs vstsRodrigo Kono
 
Visual Studio Release Management - New weltanschauung or natural evolution? @...
Visual Studio Release Management - New weltanschauung or natural evolution? @...Visual Studio Release Management - New weltanschauung or natural evolution? @...
Visual Studio Release Management - New weltanschauung or natural evolution? @...Giulio Vian
 
Git Gerrit Mit Teamforge
Git Gerrit Mit TeamforgeGit Gerrit Mit Teamforge
Git Gerrit Mit TeamforgeCollabNet
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFxVincent Biret
 
Get Rid of Visual SourceSafe Codemash 2010
Get Rid of Visual SourceSafe Codemash 2010Get Rid of Visual SourceSafe Codemash 2010
Get Rid of Visual SourceSafe Codemash 2010Joe Kuemerle
 
DevOps Service | Mindtree
DevOps Service | MindtreeDevOps Service | Mindtree
DevOps Service | MindtreeAnikeyRoy
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0Jasmine Conseil
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0Jasmine Conseil
 
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for YouWebinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for YouWeaveworks
 
Azure DevOps - Version Controlling with Git
Azure DevOps - Version Controlling with GitAzure DevOps - Version Controlling with Git
Azure DevOps - Version Controlling with GitEng Teong Cheah
 
Working with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
Working with PowerShell, Visual Studio Code and Github for the reluctant IT ProWorking with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
Working with PowerShell, Visual Studio Code and Github for the reluctant IT ProBIWUG
 
SCM (Source Control Management) - Git Basic
SCM (Source Control Management) - Git Basic SCM (Source Control Management) - Git Basic
SCM (Source Control Management) - Git Basic Aman Patial
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAppDynamics
 

Similaire à Taking your version control to a next level with TFS and Git (20)

Perforce helix git swarm jan 2016(pva1) meetup
Perforce helix git swarm jan 2016(pva1) meetupPerforce helix git swarm jan 2016(pva1) meetup
Perforce helix git swarm jan 2016(pva1) meetup
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
 
Controle do ciclo de vida do desenvolvimento de software com tfs vsts
Controle do ciclo de vida do desenvolvimento de software com tfs  vstsControle do ciclo de vida do desenvolvimento de software com tfs  vsts
Controle do ciclo de vida do desenvolvimento de software com tfs vsts
 
Visual Studio Release Management - New weltanschauung or natural evolution? @...
Visual Studio Release Management - New weltanschauung or natural evolution? @...Visual Studio Release Management - New weltanschauung or natural evolution? @...
Visual Studio Release Management - New weltanschauung or natural evolution? @...
 
Git Gerrit Mit Teamforge
Git Gerrit Mit TeamforgeGit Gerrit Mit Teamforge
Git Gerrit Mit Teamforge
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
Get Rid of Visual SourceSafe Codemash 2010
Get Rid of Visual SourceSafe Codemash 2010Get Rid of Visual SourceSafe Codemash 2010
Get Rid of Visual SourceSafe Codemash 2010
 
DevOps Service | Mindtree
DevOps Service | MindtreeDevOps Service | Mindtree
DevOps Service | Mindtree
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
 
GitHub for partners
GitHub for partnersGitHub for partners
GitHub for partners
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
 
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for YouWebinar: Capabilities, Confidence and Community – What Flux GA Means for You
Webinar: Capabilities, Confidence and Community – What Flux GA Means for You
 
Azure DevOps - Version Controlling with Git
Azure DevOps - Version Controlling with GitAzure DevOps - Version Controlling with Git
Azure DevOps - Version Controlling with Git
 
Working with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
Working with PowerShell, Visual Studio Code and Github for the reluctant IT ProWorking with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
Working with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
 
SCM (Source Control Management) - Git Basic
SCM (Source Control Management) - Git Basic SCM (Source Control Management) - Git Basic
SCM (Source Control Management) - Git Basic
 
Git session 1
Git session 1Git session 1
Git session 1
 
Devops.pptx
Devops.pptxDevops.pptx
Devops.pptx
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
 

Plus de Alexander Vanwynsberghe

Bare metal Javascript & GPIO programming in Linux
Bare metal Javascript & GPIO programming in LinuxBare metal Javascript & GPIO programming in Linux
Bare metal Javascript & GPIO programming in LinuxAlexander Vanwynsberghe
 
Eindwerk Social Media Consultant - SBM Case
Eindwerk Social Media Consultant - SBM CaseEindwerk Social Media Consultant - SBM Case
Eindwerk Social Media Consultant - SBM CaseAlexander Vanwynsberghe
 
The social (r)evolution introduced by Generation Y
The social (r)evolution introduced by Generation YThe social (r)evolution introduced by Generation Y
The social (r)evolution introduced by Generation YAlexander Vanwynsberghe
 
Improved software testing using Visual Studio and TFS 2010
Improved software testing using Visual Studio and TFS 2010 Improved software testing using Visual Studio and TFS 2010
Improved software testing using Visual Studio and TFS 2010 Alexander Vanwynsberghe
 

Plus de Alexander Vanwynsberghe (8)

Bare metal Javascript & GPIO programming in Linux
Bare metal Javascript & GPIO programming in LinuxBare metal Javascript & GPIO programming in Linux
Bare metal Javascript & GPIO programming in Linux
 
The future of HealthCare is digital
The future of HealthCare is digitalThe future of HealthCare is digital
The future of HealthCare is digital
 
Eindwerk Social Media Consultant - SBM Case
Eindwerk Social Media Consultant - SBM CaseEindwerk Social Media Consultant - SBM Case
Eindwerk Social Media Consultant - SBM Case
 
The social (r)evolution introduced by Generation Y
The social (r)evolution introduced by Generation YThe social (r)evolution introduced by Generation Y
The social (r)evolution introduced by Generation Y
 
The future of work with Office 365
The future of work with Office 365The future of work with Office 365
The future of work with Office 365
 
TFS on azure in 10 minutes
TFS on azure in 10 minutesTFS on azure in 10 minutes
TFS on azure in 10 minutes
 
Improved software testing using Visual Studio and TFS 2010
Improved software testing using Visual Studio and TFS 2010 Improved software testing using Visual Studio and TFS 2010
Improved software testing using Visual Studio and TFS 2010
 
Techdays 2011 - Things I will remember
Techdays 2011 - Things I will rememberTechdays 2011 - Things I will remember
Techdays 2011 - Things I will remember
 

Dernier

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 

Dernier (20)

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Taking your version control to a next level with TFS and Git

Notes de l'éditeur

  1. In this session, it will all be about “source control”.. So if you don’t like source control, this is not the place to be 
  2. When you talk about source control models, you have 2 flavors:Centralized (who’s using..?)Distributed (who’s using..?)
  3. Let me first start with a shield. Why? Well, when you are in one of the sides of this equitation, people tend to get fanatic about this. There are people saying “hell no, don’t use centralized, DSVC is the way to go!
  4. Back in time.. Version control does exist already a long time.. There are like a dozen of tools and solutions available
  5. Itwas good.. You had like one central “database” (on a fileshare)
  6. “users” were complaining: http://www.codinghorror.com/blog/2006/08/source-control-anything-but-sourcesafe.html
  7. TFVC was a follow-up from Visual Source Safe, but it was written from scratch (no link with SourceSafe) and uses a SQL Server database as a means of scaling to large environments and infrastructures.
  8. Workspace: basically a mapping between a source control path and local file storage location.But you DO need the server.. You tell the server that you want to check-out files.. The server knows everything
  9. There are lots of good things about server workspaces. Like exclusive locks, you know who’s editing which file
  10. offline: you need to be connected to the server.. You tell the server what you want to do.. If the server is not available, you’re screwedRead-only: locks on a file.. You can manually remove those locks, but TFS will not know about themYou need visual studio!
  11. Is this DVCS?NOPEThe server only has knowledge of a reference to a local workspace.. So it’s also a mapping!The local workspace links to file storage.. There is also something like $TF, where the information about your workspace is available
  12. You need to talk to the server.. Because the server stores the history! The server is where permissions are controlled
  13. App architecture is loosly coupled nowadays. There are a lot more frameworks to allow you to do that. You can have different pieces that are modular.For example, if I own a shop, Iwant to have a windows phone app, I could get it build by some guys at the other side of the world
  14. Microsoft was also feeling those changes. They really needed to embrace this change to DVCS.
  15. In fact, Git was built by Linus Torvalds for Linux kernel development in 2005. Mercurial was built by Mackall. the project Actually started a few days after Git.Mercurial got a lot more pressure to be a good product. It was getting more popular because there was more windows support. The reviews by the big players were good.
  16. But something changed: Github. They changed the game! They made it as the leading DVCS!
  17. - Very efficient model for deployment!- Git can read through HTTP and read and write through SSH.  You push your code, John and Edward push their code, then whoever is in charge of deployment on your team will log onto the server and merge the code into the live environment. Git offers hooks, like “post-receive”, that can perform any kind of action you can throw together- You now have Git for Windows (thanks to Github), and many other tools on the windows platform
  18. That made the decision for Microsoft easy, and they went for Git!
  19. Before they started implementing Git, they had some principlesThey wanted to do it right.. Not Team Foundation Git!Actually even contributing to the community, and not cheating!
  20. One of the main libraries that is used both on the client and on the server by both Microsoft and GitHub.Microsoft joined that project and have contributed to it.
  21. This are the top 8 contributors of the project. And the bottom 2 guys are from Microsoft. direct commits from phkelley who has earned that access!Note that they started later that the other guys So they really joined the community.
  22. As like the previous TFS versiosn, you can create a Team Project using TFVC.There’s source control provider.. In 2013, you can have a Git backend. Client has a source control providerYou can work local, or just clone another remote repo.There is also Git-TF. That way, you use centralized VC as ‘master’, and you can allow your teams to use Git, and than get that Git commits into TFVC.
  23. VisualStudio.com -> Create new Team Projecthttps://github.com/mariorod/SeeGit to VisualStudio.comGit shell (typen)mkdir tempcd tempgit clone -mirror https://github.com/mariorod/SeeGit.gitcd .\SeeGit.git git push --mirror (xyz)Compared to --bare, --mirror not only maps local branches of the source to local branches of the target, it maps all refs (including remote branches, notes etc.) and sets up a refspec configuration such that all these refs are overwritten by a git remote update in the target repository.Web interface – loop everythingAdd a commentShare commit
  24. Some basics, I will not show you any branching strategies etc.
  25. Init: Initializes a git repository – creates the initial ‘.git’ directory Clone: Makes a Git repository copy from a remote source. Also adds the original location as a remote (use –mirror: replicate the state of an origin repository )Commit: Takes all of the changes written in the index, creates a new commit object pointing to it .. To the local repoFetch: Fetches all the objects from the remote repository that are not present in the local one. (updated the local copy of the remote repo)Pull: Fetches the files from the remote repository and merges it with your local one.  (= git fetch & get merge)Push: Pushes all the modified local objects to the remote repository 
  26. You init a repo, you create a branch, you switch to the branch, you add commit, you switch branch and you merge + push
  27. They used the libgit2..
  28. Connecteren op die nieuwe ‘git’ repoDev-branch maken ( branches – new –dev – publish)Maak een wijziging in Settingsview.xml in de masterCommit + PushOpen web access – history – click op commitWijziging doen, zelfde lijntje op de dev branchCommit + PushMerge van dev-masterConflict resolving
  29. There is something like “Team Explorer Everywhere”, by Microsoft, which is basically an Eclipse plugin that connects to to TFS.Version 2013 also adds some Git features. They did not build a “Git integration”, because of Egit, but they created some wizards
  30. Maak een TFS build definitieToon settingsToon ookdat je git kuntgebruikenOpen eclipseToon TEEConnecteer op de git repo (via de ‘import’ wizard, alsonderdeel van TEE
  31. It are all building blocks.. Use them as you like, combine what you like
  32. Easy installation: really easy to create your own repo’s, private!Support: You can call Microsoft, and ask questionsEase of management: web interfaceIntegrated Authentication: NTLM support! Enhanced permissions (within web interface) –> on repo level!ALM integration: important: VS is only a part of the ALM cycle.
  33. It’s a completely different product to its core!Now you have the power, the choice!The best for your team, for your product!It’s 100% git, if you don’t want to use it anymore, you can easily transform it to another Git provider
  34. What’ really powerfull is the integration with the ALM features of TFS. You can use workitems, builds, …