SlideShare a Scribd company logo
Branching and Merging and Bears!



              Imaginet and ALM…
       Efficiently Build Better Software

          http://www.imaginet.com
Agenda

•   Branching Overview
•   Branching Models
•   Creating and
    Managing Branches
•   Branch Visualization
•   Branch History
What is a Branch?

• Copies                                            (Changes)
  – Separate copies of files                                   ???
  – Independent evolution
                                                     (Changes)

• Branches                                          (Changes)




                                                                TRACK &
                                                                 MERGE
  – Lightweight server copy
  – Changes tracked
  – Reconcile changes                               (Changes)
                                          Time
  – Purpose
     •   Multiple development efforts to the same sub-system
     •   Separate teams or geographies
     •   Separate releases or features
     •   Exploratory development - keep or throw away
Agenda

•   Branching Overview
•   Branching Models
•   Creating and
    Managing Branches
•   Branch Visualization
•   Branch History
Common Branching Models

• Branch by:
  –   Quality
  –   Environment
  –   Release
  –   Team
  –   Feature
  –   Sprint


• Purpose:
Common Branching Models

• Branch by:
  –   Quality        High Quality / Well Tested
  –   Environment                   Merge
                                    Changes
  –   Release          Intermediate Level(s)
  –   Team                           Merge
  –   Feature                        Changes
                     Lower Quality / Less Tested
  –   Sprint


• Purpose: Separate “high-churn” less tested
  code from that which is more mature. (cont.)
Common Branching Models

• Branch by:
  –   Quality           Production Branch
  –   Environment                  Primarily
                                   merge up
  –   Release           Test / QA Branch
  –   Team                         “Promote” code
  –   Feature                      between branches
                       Development Branch
  –   Sprint


• Purpose: Frequently used to model
  environments as “Promotion” groups.
Common Branching Models

• Branch by:
  – Quality          V1.0
  – Environment
  – Release          V2.0
  – Team
  – Feature                    V3.0
  – Sprint

• Purpose: Used when teams need to
  support multiple software versions
  concurrently.
Common Branching Models

• Branch by:
  – Quality
  – Environment      Main
  – Release
  – Team                Team A
  – Feature
  – Sprint                  Team B


• Purpose: Allows separate teams or
  geographies to share changes in a
  controlled fashion.
Common Branching Models

• Branch by:
  – Quality
  – Environment       Main

  – Release
  – Team                 Feature B
                     Feature A
  – Feature
  – Sprint

• Purpose: Branches created to isolate
  changes for a specific purpose;
  frequently short-lived.
Common Branching Models

• Branch by:
  – Quality
  – Environment
                   Main
  – Release
  – Team
                   Sprint A   Sprint B
  – Feature
  – Sprint

• Purpose: Branches created to isolate
  changes for a specific purpose;
  frequently short-lived.
Mix and Match as Appropriate


               V1.0 Release



               V1.0 Dev



               V2.0 Release



                V2.0 Dev



               V3.0 Release
Branching Guidance


• Can cause complexity, so use with caution
  – May use fewer branches or no branches
  – Couple with effective use of Labels and Shelvesets


• Branches vs. (branched) Folders

• Integrate in the ‘softest’ branch
  – Includes Quality, Team, Sprint, and Feature
Agenda

•   Branching Overview
•   Branching Models
•   Creating and
    Managing Branches
•   Branch Visualization
•   Branch History
Branches in TFS 2012

• Three separate approaches:
  – Copies
    • Not actually a branch
    • Generally discouraged


  – Branched Folders
    • Created with a branching relationship
    • Supports merges and tracking


  – Branch
    • As with branched folders but supports visualization
Creating Branches


• Option 1: Convert Folder to Branch
   – Note: You cannot convert a folder to a branch if it either
     contains a branch or is contained by a branch.


• Option 2: Branch from an existing branch

• Option 3: Branch a file or folder
   – May be used to create a branched folder instead of a branch
     (not recommended)
Managing Branching


• Develop an appropriate branching strategy

• May want to use labels instead of branches in some
  cases

• More releases  more branch complexity needed
  (service packs, hot fixes, etc.)

• Know when to add a new branch
Agenda

•   Branching Overview
•   Branching Models
•   Creating and
    Managing Branches
•   Branch Visualization
•   Branch History
Branch Visualization
Agenda

•   Branching Overview
•   Branching Models
•   Creating and
    Managing Branches
•   Branch Visualization
•   Branch History
Branch History

• Uses a timeline view to show Branch History
DEMONSTRATION




• Branching and
  Versioning
Summary


•   Branching Overview

•   Branching Models

•   Creating and Managing
    Branches

•   Branch Visualization

•   Branch History
Want to know more...?
Imaginet’s New Visual Studio 2012 Website!
Visit Imaginet’s new Visual Studio 2012 website, your one-stop
hub for all your Visual Studio 2012 needs!

         http://visualstudio.imaginet.com
TFS / Visual Studio 2012

            Upcoming Fall Workshops & Webcasts:
•   Managing Test Labs Without the  •      Streamline Your Testing with Visual
    Headaches                              Studio 2012 Testing Tools
     • November 29 (1:00-2:30pm CT)         • December 13 (1:00-2:30pm CT)

•   Lean, Kanban, and TFS             •    Getting Started with Coded UI
     • December 3 (1:00-2:30pm CT)         Testing: Building Your First
                                           Automated Test
•   Approaches to Kanban with TFS           • December 17 (1:00-2:30pm CT)
     • December 6 (1:00-2:30pm CT)
     • December 20 (1:00-2:30pm CT)
ALM Planning & Implementation Services
ALM Planning                                                   Testing
•  ALM Assessment & Envisioning Workshops                      •  Manual Testing with Test Manager Quick
   (3 or 5 days)                                                  Start (5 days)
•  VS & TFS Migration Planning Workshop                        •  Visual Studio Testing Tools Quick Start
   (5 days)                                                       (10 days)
•  Microsoft Dev. Tools Deployment Planning                    •  Visual Studio Automated Testing Quick Start
    –   TFS Deployment Planning (5 days)                          (5 days)
        Visual SourceSafe to TFS Migration Planning (3 Days)
                                                                  Visual Studio Load Testing Quick Start
    –
                                                               •
    –   Visual Studio Quality Tools Deployment Planning
        (5 days)                                                  (5 or 10 Days)

TFS Adoption or Upgrade                                        Builds
•  TFS 2010 Adoption Quick Start                               •  Automated Build & Release Management
   (5 or 10 days)                                                 Quick Start (5 days)
•  TFS 2012 Adoption Quick Start                               •  Automated Build Center of Excellence (CoE)
   (5 or 10 days)
•  TFS 2010 Upgrade Quick Start (10 days)
                                                               Database
•  TFS 2012 Upgrade Quick Start (10 days)
                                                               •  Visual Studio Database Tools Quick Start
                                                                  (10 days)
Remote Support
• Remote Support for TFS & Visual Studio                       Integrations
                                                               •  Team Foundation Server (TFS) & Project
Lab                                                               Server Integration Quick Start (10 days)
•  Visual Studio Lab Management Quick Start                    •  TFS & Quality Center Integration/Migration
   (10 days)                                                      Quick Start (10 days)
                                                Email us at:
For questions or more information,
       please contact us at:

info@imaginet.com or (972) 607-4830
Questions?
http://www.imaginet.com

More Related Content

PPTX
Branching and Merging Practices
PPSX
SCM Process and smartBuild
DOCX
Branching and merging strategy
PDF
Feature Toggle
PPTX
Techniques and Tools to Improve the Salesforce Development Cycle
PDF
Trunk based development for Beginners
PDF
Team Development on Force.com with Github and Ant
PPTX
Team Development & Continuous Integration on the Salesforce Platform
Branching and Merging Practices
SCM Process and smartBuild
Branching and merging strategy
Feature Toggle
Techniques and Tools to Improve the Salesforce Development Cycle
Trunk based development for Beginners
Team Development on Force.com with Github and Ant
Team Development & Continuous Integration on the Salesforce Platform

What's hot (20)

PDF
Fun with Jenkins & Salesforce
KEY
40 square's git workflow
PDF
Tfs 2015 Upgrade Tips and Tricks
PPT
Developer Ignite Scott Cate Versioning
PPTX
Software Versioning by mohammad al banna
PDF
Git workflow step by step
PPTX
Optimizing deployment & dev ops with tfs 2013
PDF
Continuous Integration - Software development lifecycle for Force.com projects
DOCX
Versioning guidelines for product
PPTX
Alm with tfs 2013
KEY
How we git - commit policy and code review
PDF
Git code reviews
PPTX
Feature toggles
PPTX
Feature flag launchdarkly
PPTX
Ordina SOFTC Presentation - Deployment with TFS Build and Workflow
PPS
Afik Gal @alphageeks: Flex Intro
PPTX
Lap around ALM with Visual Studio and TFS 2013
PPTX
Shayke's SCRUM @alphageeks 6
PPTX
Trunk Based Development in the Enterprise - Its Relevance and Economics
PDF
Git Branching for Agile Teams
Fun with Jenkins & Salesforce
40 square's git workflow
Tfs 2015 Upgrade Tips and Tricks
Developer Ignite Scott Cate Versioning
Software Versioning by mohammad al banna
Git workflow step by step
Optimizing deployment & dev ops with tfs 2013
Continuous Integration - Software development lifecycle for Force.com projects
Versioning guidelines for product
Alm with tfs 2013
How we git - commit policy and code review
Git code reviews
Feature toggles
Feature flag launchdarkly
Ordina SOFTC Presentation - Deployment with TFS Build and Workflow
Afik Gal @alphageeks: Flex Intro
Lap around ALM with Visual Studio and TFS 2013
Shayke's SCRUM @alphageeks 6
Trunk Based Development in the Enterprise - Its Relevance and Economics
Git Branching for Agile Teams
Ad

Similar to Branching and Merging and Bears, Oh My! (20)

PPTX
Branching in TFS 2010 Part I (Branching Theory)
PPTX
Team Foundation Server - Source Control
PPTX
Application Lifecycle Management with TFS
PDF
Building a Giant Atlassian Universe to Take Over the World
PPTX
Application Lifecycle Management with Visual Studio 2013
PPTX
Managing software product versioning with Gitflow, VSTS and Atlassian SourceTree
PPTX
Integrated ALM using Microsoft 2012 Solutions
PPTX
Git best practice
PPTX
Session #6: Get More Bang For Your Buck
PPTX
ALM with TFS: From the Drawing Board to the Cloud
PPTX
SofiaDev L9 Source Control Management
PDF
Dita Release Management
PDF
SQL Server DevOps Jumpstart
PPTX
Source control branching and merging guidelines
PPTX
Using the Kanban Method with Team Foundation Server
PPTX
Branching in TFS 2010 Part III (End-User Pattern)
PPTX
Team Foundation Server 2010 - Overview
PPTX
02.19.13 WANDisco SVN Training: Branching Options for Development
PPTX
Introductie Visual Studio ALM 2012
PPTX
Introductie Visual Studio ALM 2012
Branching in TFS 2010 Part I (Branching Theory)
Team Foundation Server - Source Control
Application Lifecycle Management with TFS
Building a Giant Atlassian Universe to Take Over the World
Application Lifecycle Management with Visual Studio 2013
Managing software product versioning with Gitflow, VSTS and Atlassian SourceTree
Integrated ALM using Microsoft 2012 Solutions
Git best practice
Session #6: Get More Bang For Your Buck
ALM with TFS: From the Drawing Board to the Cloud
SofiaDev L9 Source Control Management
Dita Release Management
SQL Server DevOps Jumpstart
Source control branching and merging guidelines
Using the Kanban Method with Team Foundation Server
Branching in TFS 2010 Part III (End-User Pattern)
Team Foundation Server 2010 - Overview
02.19.13 WANDisco SVN Training: Branching Options for Development
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
Ad

More from Imaginet (20)

PPTX
Industry 4.0 Changes Everything
PPTX
Introduction to Kanban
PPTX
Top Business Benefits of Application Lifecycle Management (ALM)
PPTX
Upgrading to Team Foundation Server (TFS) 2012 – What You Need to Know! (07-2...
PPTX
Introduction to Kanban
PDF
Getting Started With Coded UI testing: Building Your First Automated Test
PPTX
Managing Test Labs Without the Headaches
PPTX
Getting Started with Visual Studio’s Coded UI Testing: Building Your First Au...
PDF
Managing Test Labs Without the Headaches
PPTX
Quality Coding: What's New with Visual Studio 2012
PPTX
New SharePoint Developer Tools in Visual Studio 2012
PPTX
Quality Coding: What’s New with Visual Studio 2012
PPTX
Lean, Kanban and TFS
PPTX
The Newest of the New with Visual Studio and TFS 2012
PPTX
The Newest of the New with Visual Studio and TFS 2012
PPTX
Using Lean and Kanban to Revolutionize Your Organization
PPTX
Lean, Kanban, and TFS
PPTX
How Microsoft ALM Tools Can Improve Your Bottom Line
PPTX
Upgrading to TFS 2012: What You Need to Know!
PPTX
Getting Started with Coded UI Testing: Building Your First Automated Test
Industry 4.0 Changes Everything
Introduction to Kanban
Top Business Benefits of Application Lifecycle Management (ALM)
Upgrading to Team Foundation Server (TFS) 2012 – What You Need to Know! (07-2...
Introduction to Kanban
Getting Started With Coded UI testing: Building Your First Automated Test
Managing Test Labs Without the Headaches
Getting Started with Visual Studio’s Coded UI Testing: Building Your First Au...
Managing Test Labs Without the Headaches
Quality Coding: What's New with Visual Studio 2012
New SharePoint Developer Tools in Visual Studio 2012
Quality Coding: What’s New with Visual Studio 2012
Lean, Kanban and TFS
The Newest of the New with Visual Studio and TFS 2012
The Newest of the New with Visual Studio and TFS 2012
Using Lean and Kanban to Revolutionize Your Organization
Lean, Kanban, and TFS
How Microsoft ALM Tools Can Improve Your Bottom Line
Upgrading to TFS 2012: What You Need to Know!
Getting Started with Coded UI Testing: Building Your First Automated Test

Recently uploaded (20)

PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Cloud computing and distributed systems.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Modernizing your data center with Dell and AMD
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
MYSQL Presentation for SQL database connectivity
Network Security Unit 5.pdf for BCA BBA.
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
NewMind AI Monthly Chronicles - July 2025
Reach Out and Touch Someone: Haptics and Empathic Computing
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Cloud computing and distributed systems.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Modernizing your data center with Dell and AMD
The AUB Centre for AI in Media Proposal.docx
Understanding_Digital_Forensics_Presentation.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Dropbox Q2 2025 Financial Results & Investor Presentation
Encapsulation_ Review paper, used for researhc scholars
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf

Branching and Merging and Bears, Oh My!

  • 1. Branching and Merging and Bears! Imaginet and ALM… Efficiently Build Better Software http://www.imaginet.com
  • 2. Agenda • Branching Overview • Branching Models • Creating and Managing Branches • Branch Visualization • Branch History
  • 3. What is a Branch? • Copies (Changes) – Separate copies of files ??? – Independent evolution (Changes) • Branches (Changes) TRACK & MERGE – Lightweight server copy – Changes tracked – Reconcile changes (Changes) Time – Purpose • Multiple development efforts to the same sub-system • Separate teams or geographies • Separate releases or features • Exploratory development - keep or throw away
  • 4. Agenda • Branching Overview • Branching Models • Creating and Managing Branches • Branch Visualization • Branch History
  • 5. Common Branching Models • Branch by: – Quality – Environment – Release – Team – Feature – Sprint • Purpose:
  • 6. Common Branching Models • Branch by: – Quality High Quality / Well Tested – Environment Merge Changes – Release Intermediate Level(s) – Team Merge – Feature Changes Lower Quality / Less Tested – Sprint • Purpose: Separate “high-churn” less tested code from that which is more mature. (cont.)
  • 7. Common Branching Models • Branch by: – Quality Production Branch – Environment Primarily merge up – Release Test / QA Branch – Team “Promote” code – Feature between branches Development Branch – Sprint • Purpose: Frequently used to model environments as “Promotion” groups.
  • 8. Common Branching Models • Branch by: – Quality V1.0 – Environment – Release V2.0 – Team – Feature V3.0 – Sprint • Purpose: Used when teams need to support multiple software versions concurrently.
  • 9. Common Branching Models • Branch by: – Quality – Environment Main – Release – Team Team A – Feature – Sprint Team B • Purpose: Allows separate teams or geographies to share changes in a controlled fashion.
  • 10. Common Branching Models • Branch by: – Quality – Environment Main – Release – Team Feature B Feature A – Feature – Sprint • Purpose: Branches created to isolate changes for a specific purpose; frequently short-lived.
  • 11. Common Branching Models • Branch by: – Quality – Environment Main – Release – Team Sprint A Sprint B – Feature – Sprint • Purpose: Branches created to isolate changes for a specific purpose; frequently short-lived.
  • 12. Mix and Match as Appropriate V1.0 Release V1.0 Dev V2.0 Release V2.0 Dev V3.0 Release
  • 13. Branching Guidance • Can cause complexity, so use with caution – May use fewer branches or no branches – Couple with effective use of Labels and Shelvesets • Branches vs. (branched) Folders • Integrate in the ‘softest’ branch – Includes Quality, Team, Sprint, and Feature
  • 14. Agenda • Branching Overview • Branching Models • Creating and Managing Branches • Branch Visualization • Branch History
  • 15. Branches in TFS 2012 • Three separate approaches: – Copies • Not actually a branch • Generally discouraged – Branched Folders • Created with a branching relationship • Supports merges and tracking – Branch • As with branched folders but supports visualization
  • 16. Creating Branches • Option 1: Convert Folder to Branch – Note: You cannot convert a folder to a branch if it either contains a branch or is contained by a branch. • Option 2: Branch from an existing branch • Option 3: Branch a file or folder – May be used to create a branched folder instead of a branch (not recommended)
  • 17. Managing Branching • Develop an appropriate branching strategy • May want to use labels instead of branches in some cases • More releases  more branch complexity needed (service packs, hot fixes, etc.) • Know when to add a new branch
  • 18. Agenda • Branching Overview • Branching Models • Creating and Managing Branches • Branch Visualization • Branch History
  • 20. Agenda • Branching Overview • Branching Models • Creating and Managing Branches • Branch Visualization • Branch History
  • 21. Branch History • Uses a timeline view to show Branch History
  • 23. Summary • Branching Overview • Branching Models • Creating and Managing Branches • Branch Visualization • Branch History
  • 24. Want to know more...?
  • 25. Imaginet’s New Visual Studio 2012 Website! Visit Imaginet’s new Visual Studio 2012 website, your one-stop hub for all your Visual Studio 2012 needs! http://visualstudio.imaginet.com
  • 26. TFS / Visual Studio 2012 Upcoming Fall Workshops & Webcasts: • Managing Test Labs Without the • Streamline Your Testing with Visual Headaches Studio 2012 Testing Tools • November 29 (1:00-2:30pm CT) • December 13 (1:00-2:30pm CT) • Lean, Kanban, and TFS • Getting Started with Coded UI • December 3 (1:00-2:30pm CT) Testing: Building Your First Automated Test • Approaches to Kanban with TFS • December 17 (1:00-2:30pm CT) • December 6 (1:00-2:30pm CT) • December 20 (1:00-2:30pm CT)
  • 27. ALM Planning & Implementation Services ALM Planning Testing • ALM Assessment & Envisioning Workshops • Manual Testing with Test Manager Quick (3 or 5 days) Start (5 days) • VS & TFS Migration Planning Workshop • Visual Studio Testing Tools Quick Start (5 days) (10 days) • Microsoft Dev. Tools Deployment Planning • Visual Studio Automated Testing Quick Start – TFS Deployment Planning (5 days) (5 days) Visual SourceSafe to TFS Migration Planning (3 Days) Visual Studio Load Testing Quick Start – • – Visual Studio Quality Tools Deployment Planning (5 days) (5 or 10 Days) TFS Adoption or Upgrade Builds • TFS 2010 Adoption Quick Start • Automated Build & Release Management (5 or 10 days) Quick Start (5 days) • TFS 2012 Adoption Quick Start • Automated Build Center of Excellence (CoE) (5 or 10 days) • TFS 2010 Upgrade Quick Start (10 days) Database • TFS 2012 Upgrade Quick Start (10 days) • Visual Studio Database Tools Quick Start (10 days) Remote Support • Remote Support for TFS & Visual Studio Integrations • Team Foundation Server (TFS) & Project Lab Server Integration Quick Start (10 days) • Visual Studio Lab Management Quick Start • TFS & Quality Center Integration/Migration (10 days) Quick Start (10 days) Email us at:
  • 28. For questions or more information, please contact us at: info@imaginet.com or (972) 607-4830