Merging Banks & Merging Cultures, Texas Bankers Association Presentation
Branching and Merging and Bears, Oh My!
-
Upload
imaginet -
Category
Technology
-
view
910 -
download
5
Transcript of Branching and Merging and Bears, Oh My!
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 – Separate copies of files – Independent evolution
• Branches
– Lightweight server copy – Changes tracked – Reconcile changes
– Purpose
• Multiple development efforts to the same sub-system • Separate teams or geographies • Separate releases or features • Exploratory development - keep or throw away
(Changes)
(Changes)
TRACK &
M
ERG
E (Changes)
(Changes)
???
Time
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 – Environment – Release – Team – Feature – Sprint
• Purpose: Separate “high-churn” less tested
code from that which is more mature. (cont.)
Merge Changes
High Quality / Well Tested
Intermediate Level(s)
Merge Changes
Lower Quality / Less Tested
Common Branching Models
• Branch by: – Quality – Environment – Release – Team – Feature – Sprint
• Purpose: Frequently used to model
environments as “Promotion” groups.
“Promote” code between branches
Production Branch
Test / QA Branch
Primarily merge up
Development Branch
Common Branching Models
• Branch by: – Quality – Environment – Release – Team – Feature – Sprint
• Purpose: Used when teams need to
support multiple software versions concurrently.
V1.0
V2.0
V3.0
Common Branching Models
• Branch by: – Quality – Environment – Release – Team – Feature – Sprint
• Purpose: Allows separate teams or
geographies to share changes in a controlled fashion.
Team A
Team B
Main
Common Branching Models
• Branch by: – Quality – Environment – Release – Team – Feature – Sprint
• Purpose: Branches created to isolate
changes for a specific purpose; frequently short-lived.
Feature B Feature A
Main
Common Branching Models
• Branch by: – Quality – Environment – Release – Team – Feature – Sprint
• Purpose: Branches created to isolate
changes for a specific purpose; frequently short-lived.
Sprint A Sprint B
Main
Mix and Match as Appropriate
V1.0 Release
V3.0 Release
V1.0 Dev
V2.0 Dev
V2.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!
http://visualstudio.imaginet.com
Visit Imaginet’s new Visual Studio 2012 website, your one-stop hub for all your Visual Studio 2012 needs!
TFS / Visual Studio 2012
• Managing Test Labs Without the Headaches
• November 29 (1:00-2:30pm CT)
• Lean, Kanban, and TFS • December 3 (1:00-2:30pm CT)
• Approaches to Kanban with TFS • December 6 (1:00-2:30pm CT) • December 20 (1:00-2:30pm CT)
Upcoming Fall Workshops & Webcasts: • Streamline Your Testing with Visual
Studio 2012 Testing Tools • December 13 (1:00-2:30pm CT)
• Getting Started with Coded UI Testing: Building Your First Automated Test
• December 17 (1:00-2:30pm CT)
Email us at: [email protected]
ALM Planning & Implementation Services ALM Planning • ALM Assessment & Envisioning Workshops
(3 or 5 days) • VS & TFS Migration Planning Workshop
(5 days) • Microsoft Dev. Tools Deployment Planning
– TFS Deployment Planning (5 days) – Visual SourceSafe to TFS Migration Planning (3 Days) – Visual Studio Quality Tools Deployment Planning
(5 days)
TFS Adoption or Upgrade • TFS 2010 Adoption Quick Start
(5 or 10 days) • TFS 2012 Adoption Quick Start
(5 or 10 days) • TFS 2010 Upgrade Quick Start (10 days) • TFS 2012 Upgrade Quick Start (10 days) Remote Support • Remote Support for TFS & Visual Studio
Lab • Visual Studio Lab Management Quick Start
(10 days)
Testing • Manual Testing with Test Manager Quick
Start (5 days) • Visual Studio Testing Tools Quick Start
(10 days) • Visual Studio Automated Testing Quick Start
(5 days) • Visual Studio Load Testing Quick Start
(5 or 10 Days) Builds • Automated Build & Release Management
Quick Start (5 days) • Automated Build Center of Excellence (CoE)
Database • Visual Studio Database Tools Quick Start
(10 days) Integrations • Team Foundation Server (TFS) & Project
Server Integration Quick Start (10 days) • TFS & Quality Center Integration/Migration
Quick Start (10 days)
For questions or more information, please contact us at:
[email protected] or (972) 607-4830
Questions?
http://www.imaginet.com