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.

Guidelines: Source Control<br />

Index<br />

Accessing Version Control<br />

• Consider using command-line tools.<br />

• Use Microsoft® <strong>Visual</strong> <strong>Studio</strong>® 2005 <strong>Team</strong> <strong>Foundation</strong> Power Tools (TFPT) to<br />

unshelve a change.<br />

• Use <strong>Team</strong> <strong>Foundation</strong> Power Tools to roll back a change.<br />

• Use <strong>Team</strong> <strong>Foundation</strong> Power Tools to work offline.<br />

• Use <strong>Team</strong> <strong>Foundation</strong> Power Tools to get a changeset.<br />

• Use <strong>Team</strong> <strong>Foundation</strong> Power Tools to remove pending edits.<br />

Administration<br />

• Turn off inherited permissions on maintenance branches.<br />

• Deny check-in permissions to developers you do not yet trust to make changes to your<br />

source.<br />

Branch / Label / Merge<br />

• Use labels to mark builds you might need to return to.<br />

• Use branches to isolate supported releases.<br />

• Plan your branching structure along merge paths.<br />

• Branch at a high level, including configuration and source files.<br />

• Do not branch too deeply.<br />

• Do not branch unless you need to.<br />

• Avoid baseless merges where possible.<br />

• Prefer full merges to “cherry-pick” merges.<br />

• Merge frequently.<br />

• Always create a top-level folder for a new team project to serve as a main branch.<br />

• Consider using the candidate or preview switch to double-check before merging.<br />

• When renames are part of the merge, pay close attention to the path that the tool<br />

recommends.<br />

• Be careful when resolving merge conflicts.<br />

• Check in the results of one merge at a time.<br />

• Build and run tests after the merge and prior to check-in.<br />

Check-ins and Check-in Policies<br />

• Only check in your code when you are ready to share it.<br />

• Use shelvesets to back up or share pending changes.<br />

• Resolve one work item per check-in.<br />

• Use check-in policies to enforce coding standards.<br />

• Use check-in policies to enforce a code quality gate.

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

Saved successfully!

Ooh no, something went wrong!