SlideShare a Scribd company logo
1 of 2
Download to read offline
Version Control Cheat Sheet for TFVC and Git
Visual Studio ALM Rangers Solutions – http://aka.ms/vsarsolutions 2014-03-20 v3
GitTFVC
• Branch is an isolated copy of item metadata and version control history.
• Changeset is a logical container for changes of a single check-in.
• Check-in commits pending changes in workspace to server as a
changeset.
• Label mutable grouping of specific version of a set of source files.
• Shelveset is a set of pending changes are temporarily saved on the
server.
• Workspace is a local copy of your team’s codebase. Create multiple
workspaces and switch among them to work on different branches or
copies of the codebase.
Concepts
Architecture
Concepts
Architecture
Feature Isolation Branching Example
Commands
• Branch is a named pointer to a commit history in the repository.
Used to isolate changes from each other.
• Commit (noun) is equivalent (mostly) to Changeset, but can also be
an action.
• HEAD is a pointer to the branch your commits will be associated
with.
• Stash is a set of pending changes are temporarily saved in the
repository.
• Tag is a named pointer to a commit in the repository. Useful for
marking a point-in-time in your repository.
TF command
Team Foundation Version Control (TVFC) command line tool with a variety
of commands.
 everyday
• add adds new files and folders from a local file system location
• get retrieves a copy of items from TFVC to the workspace
• checkin commits pending changes in current workspace to TFVC
• checkout makes local file writable and changes status to “edit”
• delete removes files and folders from TFVC and disk
• history displays the revision history for files and folders
 branching
• branch creates a copy of items, preserving a relationship to the
original items
• merge applies changes from one branch into another
 shelving
• shelve stores a set of pending changes in TFVC without a commit
• shelvesets used to view details of a shelveset or view shelvesets
belonging to a specific use
• unshelve restores shelved changes from TFVC to current workspace
 uncommon
• changeset displays information about a changeset
• destroy permanently deletes, version-controlled files from TFV. Admin
only!
• lock locks or unlocks to prevent against checkin/checkout of items
• rename changes the name or the path of items
• rollback reverts the changes of one or more changesets
• undelete restores items that were previously deleted
• workspace creates, deletes, displays, or modifies properties and
mappings associated with a workspace.
 help
Type TF /? on the command line for a complete list of commands
and arguments.
TFSDeleteProject
Command line tool which deletes a team project from a TFS team project
collection. It is a non-recoverable operation!
Commands
git command
git command line tool with a variety of commands.
 everyday
• add adds the current content of existing paths
• clone create a working copy from existing repository
• commit (verb) all the staged local changes
• fetch the latest changes from origin, not merging
• pull the latest changes from origin and merge into working copies
• push commits changes to origin
• rm removes files from the working tree and from the index
• status shows uncommitted changes in the working directory
• tag mark a version or milestone
 branching
• branch [name] creates branch called name based on HEAD
• branch [–d name] deletes branch called name
• checkout [id] switch to the id branch
• diff shows changes to tracked files
• merge two branches
 uncommon
• blame show who changed what and when
• bisect find regressions
• grep search working directory
• log show history of changes
• show [id:file] show a specific file from a specific id
 help
Type git -help on the command line for a complete list of
commands and arguments.
Feature Isolation Branching Example
Links
 msysgit.github.io … Windows client downloads
 git-scm.com … documentation
 github.com … code host
 bit.ly/gitscc … Git source control provider VS2008-2012
 bit.ly/gitext … Git extensions
Version Control consideration aid for TFVC vs. Git
Visual Studio ALM Rangers Solutions – http://aka.ms/vsarsolutions
NO
YES YES
YES YESExperienced
Git user?
happy with
Git?
No need to change unless there is
business value! Git
Experienced
TFVC user?
happy with
TFVC?
No need to change unless there is
business value! TFVC?
NO NO
NO
YES
YES
Need to branch
or commit
while offline?
NO
Git works well with source files, if you
can move large files elsewhere.
YES

Work with
large files?
Must store
large files in VC
repo?
TFVC works well will small-large files,
for example videos. 
Work offline? Need history?
NO
TFVC local workspaces allow you to
work in disconnected mode.
YES
YES
NO
NO
NO
Need control
with (custom)
workflows?
NO YES
With power comes great responsibility!
2014-03-20 v3
Or have remote users and
you don't want to set up a
proxy server

More Related Content

What's hot

Continuous Integration & Continuous Delivery
Continuous Integration & Continuous DeliveryContinuous Integration & Continuous Delivery
Continuous Integration & Continuous DeliveryDatabricks
 
A Roadmap to Data Migration Success
A Roadmap to Data Migration SuccessA Roadmap to Data Migration Success
A Roadmap to Data Migration SuccessFindWhitePapers
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams Atlassian
 
Azure Synapse Analytics Overview (r2)
Azure Synapse Analytics Overview (r2)Azure Synapse Analytics Overview (r2)
Azure Synapse Analytics Overview (r2)James Serra
 
Introduction to Azure DevOps
Introduction to Azure DevOpsIntroduction to Azure DevOps
Introduction to Azure DevOpsLorenzo Barbieri
 
Azure Purview Data Toboggan Erwin de Kreuk
Azure Purview Data Toboggan Erwin de KreukAzure Purview Data Toboggan Erwin de Kreuk
Azure Purview Data Toboggan Erwin de KreukErwin de Kreuk
 
Come Fly With Me: Database Migration Patterns with Flyway
Come Fly With Me: Database Migration Patterns with FlywayCome Fly With Me: Database Migration Patterns with Flyway
Come Fly With Me: Database Migration Patterns with FlywayJoris Kuipers
 
DevOps in AWS with Kubernetes
DevOps in AWS with KubernetesDevOps in AWS with Kubernetes
DevOps in AWS with KubernetesOleg Chunikhin
 
Accelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with AutomationAccelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with AutomationNGINX, Inc.
 
Introduction to Spring Cloud
Introduction to Spring Cloud           Introduction to Spring Cloud
Introduction to Spring Cloud VMware Tanzu
 
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...Edureka!
 
Version Control System - Git
Version Control System - GitVersion Control System - Git
Version Control System - GitCarlo Bernaschina
 
VLDB 2009 Tutorial on Column-Stores
VLDB 2009 Tutorial on Column-StoresVLDB 2009 Tutorial on Column-Stores
VLDB 2009 Tutorial on Column-StoresDaniel Abadi
 
Secure Salesforce: Common Secure Coding Mistakes
Secure Salesforce: Common Secure Coding MistakesSecure Salesforce: Common Secure Coding Mistakes
Secure Salesforce: Common Secure Coding MistakesSalesforce Developers
 
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...Edureka!
 
Azure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | Edureka
Azure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | EdurekaAzure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | Edureka
Azure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | EdurekaEdureka!
 
Microsoft Azure BI Solutions in the Cloud
Microsoft Azure BI Solutions in the CloudMicrosoft Azure BI Solutions in the Cloud
Microsoft Azure BI Solutions in the CloudMark Kromer
 
Getting started with agile database migrations for java flywaydb
Getting started with agile database migrations for java flywaydbGetting started with agile database migrations for java flywaydb
Getting started with agile database migrations for java flywaydbGirish Bapat
 

What's hot (20)

Continuous Integration & Continuous Delivery
Continuous Integration & Continuous DeliveryContinuous Integration & Continuous Delivery
Continuous Integration & Continuous Delivery
 
A Roadmap to Data Migration Success
A Roadmap to Data Migration SuccessA Roadmap to Data Migration Success
A Roadmap to Data Migration Success
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams
 
Azure Synapse Analytics Overview (r2)
Azure Synapse Analytics Overview (r2)Azure Synapse Analytics Overview (r2)
Azure Synapse Analytics Overview (r2)
 
Introduction to Azure DevOps
Introduction to Azure DevOpsIntroduction to Azure DevOps
Introduction to Azure DevOps
 
Azure Purview Data Toboggan Erwin de Kreuk
Azure Purview Data Toboggan Erwin de KreukAzure Purview Data Toboggan Erwin de Kreuk
Azure Purview Data Toboggan Erwin de Kreuk
 
Docker Kubernetes Istio
Docker Kubernetes IstioDocker Kubernetes Istio
Docker Kubernetes Istio
 
Come Fly With Me: Database Migration Patterns with Flyway
Come Fly With Me: Database Migration Patterns with FlywayCome Fly With Me: Database Migration Patterns with Flyway
Come Fly With Me: Database Migration Patterns with Flyway
 
DevOps in AWS with Kubernetes
DevOps in AWS with KubernetesDevOps in AWS with Kubernetes
DevOps in AWS with Kubernetes
 
Accelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with AutomationAccelerate Microservices Deployments with Automation
Accelerate Microservices Deployments with Automation
 
Introduction to Spring Cloud
Introduction to Spring Cloud           Introduction to Spring Cloud
Introduction to Spring Cloud
 
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
 
Version Control System - Git
Version Control System - GitVersion Control System - Git
Version Control System - Git
 
VLDB 2009 Tutorial on Column-Stores
VLDB 2009 Tutorial on Column-StoresVLDB 2009 Tutorial on Column-Stores
VLDB 2009 Tutorial on Column-Stores
 
Secure Salesforce: Common Secure Coding Mistakes
Secure Salesforce: Common Secure Coding MistakesSecure Salesforce: Common Secure Coding Mistakes
Secure Salesforce: Common Secure Coding Mistakes
 
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...
Kubernetes Interview Questions And Answers | Kubernetes Tutorial | Kubernetes...
 
Azure devops
Azure devopsAzure devops
Azure devops
 
Azure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | Edureka
Azure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | EdurekaAzure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | Edureka
Azure DevOps Tutorial | Developing CI/ CD Pipelines On Azure | Edureka
 
Microsoft Azure BI Solutions in the Cloud
Microsoft Azure BI Solutions in the CloudMicrosoft Azure BI Solutions in the Cloud
Microsoft Azure BI Solutions in the Cloud
 
Getting started with agile database migrations for java flywaydb
Getting started with agile database migrations for java flywaydbGetting started with agile database migrations for java flywaydb
Getting started with agile database migrations for java flywaydb
 

Similar to Chicago alm user group tfs version control poster - tfvc and git

Similar to Chicago alm user group tfs version control poster - tfvc and git (20)

Version control with GIT
Version control with GITVersion control with GIT
Version control with GIT
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
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
 
Git
Git Git
Git
 
Introduction into Git
Introduction into GitIntroduction into Git
Introduction into Git
 
Living with Files More Happily
Living with Files More HappilyLiving with Files More Happily
Living with Files More Happily
 
Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHub
 
GIT INTRODUCTION
GIT INTRODUCTIONGIT INTRODUCTION
GIT INTRODUCTION
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
A Deeper Look at Team Foundation Server 2012 Version Control
A Deeper Look at Team Foundation Server 2012 Version ControlA Deeper Look at Team Foundation Server 2012 Version Control
A Deeper Look at Team Foundation Server 2012 Version Control
 
An introduction to Git
An introduction to GitAn introduction to Git
An introduction to Git
 
GIT In Detail
GIT In DetailGIT In Detail
GIT In Detail
 
Git in a nutshell
Git in a nutshellGit in a nutshell
Git in a nutshell
 
SVN Information
SVN Information  SVN Information
SVN Information
 
Design Systems + Git = Success - Clarity Conference 2018
Design Systems + Git  = Success - Clarity Conference 2018Design Systems + Git  = Success - Clarity Conference 2018
Design Systems + Git = Success - Clarity Conference 2018
 
Learn Git Basics
Learn Git BasicsLearn Git Basics
Learn Git Basics
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Git_new.pptx
Git_new.pptxGit_new.pptx
Git_new.pptx
 
Git.From thorns to the stars
Git.From thorns to the starsGit.From thorns to the stars
Git.From thorns to the stars
 
Git 101
Git 101Git 101
Git 101
 

Recently uploaded

英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 

Recently uploaded (20)

英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 

Chicago alm user group tfs version control poster - tfvc and git

  • 1. Version Control Cheat Sheet for TFVC and Git Visual Studio ALM Rangers Solutions – http://aka.ms/vsarsolutions 2014-03-20 v3 GitTFVC • Branch is an isolated copy of item metadata and version control history. • Changeset is a logical container for changes of a single check-in. • Check-in commits pending changes in workspace to server as a changeset. • Label mutable grouping of specific version of a set of source files. • Shelveset is a set of pending changes are temporarily saved on the server. • Workspace is a local copy of your team’s codebase. Create multiple workspaces and switch among them to work on different branches or copies of the codebase. Concepts Architecture Concepts Architecture Feature Isolation Branching Example Commands • Branch is a named pointer to a commit history in the repository. Used to isolate changes from each other. • Commit (noun) is equivalent (mostly) to Changeset, but can also be an action. • HEAD is a pointer to the branch your commits will be associated with. • Stash is a set of pending changes are temporarily saved in the repository. • Tag is a named pointer to a commit in the repository. Useful for marking a point-in-time in your repository. TF command Team Foundation Version Control (TVFC) command line tool with a variety of commands.  everyday • add adds new files and folders from a local file system location • get retrieves a copy of items from TFVC to the workspace • checkin commits pending changes in current workspace to TFVC • checkout makes local file writable and changes status to “edit” • delete removes files and folders from TFVC and disk • history displays the revision history for files and folders  branching • branch creates a copy of items, preserving a relationship to the original items • merge applies changes from one branch into another  shelving • shelve stores a set of pending changes in TFVC without a commit • shelvesets used to view details of a shelveset or view shelvesets belonging to a specific use • unshelve restores shelved changes from TFVC to current workspace  uncommon • changeset displays information about a changeset • destroy permanently deletes, version-controlled files from TFV. Admin only! • lock locks or unlocks to prevent against checkin/checkout of items • rename changes the name or the path of items • rollback reverts the changes of one or more changesets • undelete restores items that were previously deleted • workspace creates, deletes, displays, or modifies properties and mappings associated with a workspace.  help Type TF /? on the command line for a complete list of commands and arguments. TFSDeleteProject Command line tool which deletes a team project from a TFS team project collection. It is a non-recoverable operation! Commands git command git command line tool with a variety of commands.  everyday • add adds the current content of existing paths • clone create a working copy from existing repository • commit (verb) all the staged local changes • fetch the latest changes from origin, not merging • pull the latest changes from origin and merge into working copies • push commits changes to origin • rm removes files from the working tree and from the index • status shows uncommitted changes in the working directory • tag mark a version or milestone  branching • branch [name] creates branch called name based on HEAD • branch [–d name] deletes branch called name • checkout [id] switch to the id branch • diff shows changes to tracked files • merge two branches  uncommon • blame show who changed what and when • bisect find regressions • grep search working directory • log show history of changes • show [id:file] show a specific file from a specific id  help Type git -help on the command line for a complete list of commands and arguments. Feature Isolation Branching Example Links  msysgit.github.io … Windows client downloads  git-scm.com … documentation  github.com … code host  bit.ly/gitscc … Git source control provider VS2008-2012  bit.ly/gitext … Git extensions
  • 2. Version Control consideration aid for TFVC vs. Git Visual Studio ALM Rangers Solutions – http://aka.ms/vsarsolutions NO YES YES YES YESExperienced Git user? happy with Git? No need to change unless there is business value! Git Experienced TFVC user? happy with TFVC? No need to change unless there is business value! TFVC? NO NO NO YES YES Need to branch or commit while offline? NO Git works well with source files, if you can move large files elsewhere. YES  Work with large files? Must store large files in VC repo? TFVC works well will small-large files, for example videos.  Work offline? Need history? NO TFVC local workspaces allow you to work in disconnected mode. YES YES NO NO NO Need control with (custom) workflows? NO YES With power comes great responsibility! 2014-03-20 v3 Or have remote users and you don't want to set up a proxy server