SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHubVikram SV
 
GitOps is IaC done right
GitOps is IaC done rightGitOps is IaC done right
GitOps is IaC done rightChen Cheng-Wei
 
Introduction to git flow
Introduction to git flowIntroduction to git flow
Introduction to git flowKnoldus Inc.
 
Introduction to Gitlab
Introduction to GitlabIntroduction to Gitlab
Introduction to GitlabJulien Pivotto
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101Hazzim Anaya
 
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowGit Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowMikhail Melnik
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...Simplilearn
 
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 ArticlePRIYATHAMDARISI
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIDavid Hahn
 
DevOps a pratical approach
DevOps a pratical approachDevOps a pratical approach
DevOps a pratical approachSiderlan Santos
 
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...Edureka!
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineRobert McDermott
 
Using Git and BitBucket
Using Git and BitBucketUsing Git and BitBucket
Using Git and BitBucketMedhat Dawoud
 

Mais procurados (20)

Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHub
 
"DevOps > CI+CD "
"DevOps > CI+CD ""DevOps > CI+CD "
"DevOps > CI+CD "
 
GitOps is IaC done right
GitOps is IaC done rightGitOps is IaC done right
GitOps is IaC done right
 
Introduction to git flow
Introduction to git flowIntroduction to git flow
Introduction to git flow
 
Introduction to Gitlab
Introduction to GitlabIntroduction to Gitlab
Introduction to Gitlab
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101
 
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowGit Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 
intro to DevOps
intro to DevOpsintro to DevOps
intro to DevOps
 
Power of Azure Devops
Power of Azure DevopsPower of Azure Devops
Power of Azure Devops
 
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
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CI
 
DevOps a pratical approach
DevOps a pratical approachDevOps a pratical approach
DevOps a pratical approach
 
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
Introduction to DevOps Tools | DevOps Training | DevOps Tutorial for Beginner...
 
CICD with Jenkins
CICD with JenkinsCICD with Jenkins
CICD with Jenkins
 
Git Branching Model
Git Branching ModelGit Branching Model
Git Branching Model
 
Source Code management System
Source Code management SystemSource Code management System
Source Code management System
 
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) PipelineAnatomy of a Continuous Integration and Delivery (CICD) Pipeline
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
 
Using Git and BitBucket
Using Git and BitBucketUsing Git and BitBucket
Using Git and BitBucket
 

Destaque

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
 

Destaque (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
 

Semelhante a 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
 

Semelhante a 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
 

Mais 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
 

Mais 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
 

Último

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
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
 

Último (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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?
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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)
 

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

Notas do Editor

  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, …