Branching and Merging and Bears!              Imaginet and ALM…       Efficiently Build Better Software          http://ww...
Agenda•   Branching Overview•   Branching Models•   Creating and    Managing Branches•   Branch Visualization•   Branch Hi...
What is a Branch?• Copies                                            (Changes)  – Separate copies of files                ...
Agenda•   Branching Overview•   Branching Models•   Creating and    Managing Branches•   Branch Visualization•   Branch Hi...
Common Branching Models• Branch by:  –   Quality  –   Environment  –   Release  –   Team  –   Feature  –   Sprint• Purpose:
Common Branching Models• Branch by:  –   Quality        High Quality / Well Tested  –   Environment                   Merg...
Common Branching Models• Branch by:  –   Quality           Production Branch  –   Environment                  Primarily  ...
Common Branching Models• Branch by:  – Quality          V1.0  – Environment  – Release          V2.0  – Team  – Feature   ...
Common Branching Models• Branch by:  – Quality  – Environment      Main  – Release  – Team                Team A  – Featur...
Common Branching Models• Branch by:  – Quality  – Environment       Main  – Release  – Team                 Feature B     ...
Common Branching Models• Branch by:  – Quality  – Environment                   Main  – Release  – Team                   ...
Mix and Match as Appropriate               V1.0 Release               V1.0 Dev               V2.0 Release                V...
Branching Guidance• Can cause complexity, so use with caution  – May use fewer branches or no branches  – Couple with effe...
Agenda•   Branching Overview•   Branching Models•   Creating and    Managing Branches•   Branch Visualization•   Branch Hi...
Branches in TFS 2012• Three separate approaches:  – Copies    • Not actually a branch    • Generally discouraged  – Branch...
Creating Branches• Option 1: Convert Folder to Branch   – Note: You cannot convert a folder to a branch if it either     c...
Managing Branching• Develop an appropriate branching strategy• May want to use labels instead of branches in some  cases• ...
Agenda•   Branching Overview•   Branching Models•   Creating and    Managing Branches•   Branch Visualization•   Branch Hi...
Branch Visualization
Agenda•   Branching Overview•   Branching Models•   Creating and    Managing Branches•   Branch Visualization•   Branch Hi...
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 H...
Want to know more...?
Imaginet’s New Visual Studio 2012 Website!Visit Imaginet’s new Visual Studio 2012 website, your one-stophub for all your V...
TFS / Visual Studio 2012            Upcoming Fall Workshops & Webcasts:•   Managing Test Labs Without the  •      Streamli...
ALM Planning & Implementation ServicesALM Planning                                                   Testing•  ALM Assessm...
For questions or more information,       please contact us at:info@imaginet.com or (972) 607-4830
Questions?
http://www.imaginet.com
Upcoming SlideShare
Loading in …5
×

Branching and Merging and Bears, Oh My!

1,298 views

Published on

Team Foundation Server (TFS) provides a robust, enterprise-grade version control system. But how you use that system will determine your level of success. Much has been written about the 'right way' to branch and merge your code. But the fact is, there is no one single best way. This Webinar will discuss the common patterns used for branching and merging code and, more importantly, why to adopt one. We'll talk through aggregate branching models, trade-offs for release management and development, and how to evolve your existing code into the right branching model. Join us for this session and learn how to define the right branching and merging strategy for your team!

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,298
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
36
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Branching and Merging and Bears, Oh My!

  1. 1. Branching and Merging and Bears! Imaginet and ALM… Efficiently Build Better Software http://www.imaginet.com
  2. 2. Agenda• Branching Overview• Branching Models• Creating and Managing Branches• Branch Visualization• Branch History
  3. 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. 4. Agenda• Branching Overview• Branching Models• Creating and Managing Branches• Branch Visualization• Branch History
  5. 5. Common Branching Models• Branch by: – Quality – Environment – Release – Team – Feature – Sprint• Purpose:
  6. 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. 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. 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. 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. 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. 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. 12. Mix and Match as Appropriate V1.0 Release V1.0 Dev V2.0 Release V2.0 Dev V3.0 Release
  13. 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. 14. Agenda• Branching Overview• Branching Models• Creating and Managing Branches• Branch Visualization• Branch History
  15. 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. 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. 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. 18. Agenda• Branching Overview• Branching Models• Creating and Managing Branches• Branch Visualization• Branch History
  19. 19. Branch Visualization
  20. 20. Agenda• Branching Overview• Branching Models• Creating and Managing Branches• Branch Visualization• Branch History
  21. 21. Branch History• Uses a timeline view to show Branch History
  22. 22. DEMONSTRATION• Branching and Versioning
  23. 23. Summary• Branching Overview• Branching Models• Creating and Managing Branches• Branch Visualization• Branch History
  24. 24. Want to know more...?
  25. 25. Imaginet’s New Visual Studio 2012 Website!Visit Imaginet’s new Visual Studio 2012 website, your one-stophub for all your Visual Studio 2012 needs! http://visualstudio.imaginet.com
  26. 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. 27. ALM Planning & Implementation ServicesALM 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) & ProjectLab 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. 28. For questions or more information, please contact us at:info@imaginet.com or (972) 607-4830
  29. 29. Questions?
  30. 30. http://www.imaginet.com

×