Download - SofiaDev L9 Source Control Management
Работа със системи за управление на сорс код
Мартин КуловMicrosoft Regional DirectorMicrosoft Most Valuable Professional
Application Lifecycle Management
• Requirements Management• Architecture• Coding• Testing• Tracking• Release Management
* Source: Wikipedia
One system to rule them all
Source Control
Version Control
a.k.a.
a.k.a.Revision Control
Items
Repository
• Archived folder• Email• File Share• Proprietary• SQL Server
Revision Tools
• Microsoft Word• Open Office• Word Press• Drupal• SharePoint
Software Tools
Client\Server• CVS\SVN• IBM ClearCase• Perforce• Visual SourceSafe• Team Foundation
Server• …many others
Distributed• DCVS• Mercurial• Git• Bazaar• …others
Workflow
Create Project
Init
Branch
Get Latest /
Pull
Check Out / Lock
Add / Change
Get Latest /
Pull
Merge
Check In /
Commit
Other Actions
• Pending Changes / Outgoing• View History• Diff• Label / Tag• Undo Changes / Revert• Track Changeset / View Commit
DEMO: SOURCE CONTROL OPERATIONS
What is a branch?
• “A branch is what happens when your development team needs to work on two distinct copies of a project at the same time.”
Eric Sink – Source Control HOWTO
Common Branching Strategies
Branch per Release
* Source: MSDN
Code-Promotion Branches
* Source: MSDN
Branch per Task
* Source: MSDN
Branch per Component
* Source: MSDN
Branch per Technology
* Source: MSDN
Thoughts on DVCS
“To me, the fact that they make branching and merging easier just means that your coworkers are more likely to branch and merge, and you’re more likely to be confused.”* Eric Sink on the Stack Overflow Podcast
Branching and Merging Anti-Patterns
• Merge Paranoia • Merge Mania• Big Bang Merge• Never-Ending Merge• Wrong-Way Merge• Branch Mania• Cascading Branches• Mysterious Branches• Temporary Branches• Volatile Branches• Development Freeze• Berlin Wall
* Source: MSDN
DEMO: BRANCHING AND MERGING
Resources
• http://en.wikipedia.org/wiki/Application_lifecycle_management
• http://en.wikipedia.org/wiki/Revision_control• http://
en.wikipedia.org/wiki/List_of_revision_control_software• http://betterexplained.com/articles/a-visual-guide-to-versi
on-control/
• http://www.ericsink.com/scm/source_control.html• http
://msdn.microsoft.com/en-US/library/aa730834(v=VS.80).aspx
• http://www.cmcrossroads.com/bradapp/acme/branching /• http://branchingguidance.codeplex.com/
JOIN US ON FACEBOOKSOFIADEV .NET USER GROUP
THANK YOU!