26.04.2015 Views

Team Development with Visual Studio Team Foundation Server

Team Development with Visual Studio Team Foundation Server

Team Development with Visual Studio Team Foundation Server

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Use the Main branch as a staging ground for integrating changes that have been checked<br />

into the development branch. Perform all active development in the <strong>Development</strong> branch,<br />

and integrate non-breaking changes into the Main branch.<br />

Additional Resources<br />

• For an introduction to branching and merging, see “Branching and Merging Primer”<br />

at http://msdn2.microsoft.com/en-us/library/aa730834(VS.80).aspx<br />

• For more information about branching, see “How to: Branch Files and Folders” at<br />

http://msdn2.microsoft.com/en-us/library/ms181425(VS.80).aspx<br />

• For more information about merging, see “How to: Merge Files and Folders” at<br />

http://msdn2.microsoft.com/en-us/library/ms181428(VS.80).aspx<br />

• For additional descriptions of how to branch and merge in <strong>Visual</strong> <strong>Studio</strong> 2005, see<br />

“Branching and Merging <strong>Team</strong> <strong>Foundation</strong> Source Control” at<br />

http://msdn2.microsoft.com/en-us/library/ms181423(VS.80).aspx<br />

How to Use Branching to Stabilize Feature <strong>Development</strong><br />

Use Feature branches to improve the integration and stabilization of breaking changes<br />

across features.<br />

The following is an example of what your branch structure might look like after you have<br />

created Feature branches:<br />

• <strong>Development</strong> – Container for feature branches<br />

o Feature A – Feature branch<br />

• Source<br />

o Feature B – Feature branch<br />

• Source<br />

o Feature C – Feature branch<br />

• Source<br />

• Main – Integration branch<br />

o Source<br />

o Other Asset Folders<br />

Keep the following recommendations in mind when working <strong>with</strong> Feature branch:<br />

• When to branch – Feature teams often have source file overlap, increasing the<br />

potential for build breaks and check-in conflicts. If you are experiencing these<br />

problems, consider feature branches for each feature to provide feature isolation.<br />

You can create these off Main branch for small teams, or off a <strong>Team</strong> branches for<br />

larger teams.<br />

• When not to branch – If you are only creating CI builds, or your daily builds are<br />

already predictably stable, you might not need the extra overhead of Feature<br />

branches.<br />

• Permissions in branch – Assign read/write permissions to developers on the<br />

feature branch, and read-only permissions to everyone else.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!