SlideShare a Scribd company logo
1 of 24
Работа със системи за
   управление на сорс код
Мартин Кулов
Microsoft Regional Director
Microsoft Most Valuable Professional
Application Lifecycle Management
•   Requirements Management
•   Architecture
•   Coding
•   Testing
•   Tracking
•   Release Management

                              * Source: Wikipedia
One system to rule them all
Source Control
    a.k.a.
  Revision Control
    a.k.a.
Version Control
Items
Repository
•   Archived folder
•   Email
•   File Share
•   Proprietary
•   SQL Server
Revision Tools
•   Microsoft Word
•   Open Office
•   Word Press
•   Drupal
•   SharePoint
Software Tools
ClientServer                Distributed
•   CVSSVN                  •   DCVS
•   IBM ClearCase            •   Mercurial
•   Perforce                 •   Git
•   Visual SourceSafe        •   Bazaar
•   Team Foundation Server   •   …others
•   …many others
Workflow
                        Get
Create                Latest /
Project                 Pull
           Check In              Check
              /                  Out /
           Commit                 Lock
 Init


                                  Add /
           Merge
Branch                           Change

                        Get
                      Latest /
                        Pull
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-version-
    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 FACEBOOK
SOFIADEV .NET USER GROUP
THANK YOU!

More Related Content

What's hot

What's hot (20)

Dev Ops Geek Fest: Automating the ForgeRock Platform
Dev Ops Geek Fest: Automating the ForgeRock PlatformDev Ops Geek Fest: Automating the ForgeRock Platform
Dev Ops Geek Fest: Automating the ForgeRock Platform
 
Writing Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly SwarmWriting Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly Swarm
 
WSO2Con USA 2015: End-to-end Microservice Architecture with WSO2 Identity Ser...
WSO2Con USA 2015: End-to-end Microservice Architecture with WSO2 Identity Ser...WSO2Con USA 2015: End-to-end Microservice Architecture with WSO2 Identity Ser...
WSO2Con USA 2015: End-to-end Microservice Architecture with WSO2 Identity Ser...
 
Play 2 Java Framework with TDD
Play 2 Java Framework with TDDPlay 2 Java Framework with TDD
Play 2 Java Framework with TDD
 
Recipes for Continuous Delivery (ThoughtWorks Geeknight)
Recipes for Continuous Delivery (ThoughtWorks Geeknight)Recipes for Continuous Delivery (ThoughtWorks Geeknight)
Recipes for Continuous Delivery (ThoughtWorks Geeknight)
 
The 7 deadly sins of micro services
The 7 deadly sins of micro servicesThe 7 deadly sins of micro services
The 7 deadly sins of micro services
 
DevOps in the Microsoft world part 2
DevOps in the Microsoft world part 2DevOps in the Microsoft world part 2
DevOps in the Microsoft world part 2
 
JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!JEE Conf 2015: Less JS!
JEE Conf 2015: Less JS!
 
Microservices from operations aspect
Microservices from operations aspectMicroservices from operations aspect
Microservices from operations aspect
 
Microservices environment in production
Microservices environment in productionMicroservices environment in production
Microservices environment in production
 
Hexagonal architecture for java applications
Hexagonal architecture for java applicationsHexagonal architecture for java applications
Hexagonal architecture for java applications
 
Come Sail Away With Me (you guys): Node.js MVC Web API's Using Sails.js
Come Sail Away With Me (you guys): Node.js MVC Web API's Using Sails.jsCome Sail Away With Me (you guys): Node.js MVC Web API's Using Sails.js
Come Sail Away With Me (you guys): Node.js MVC Web API's Using Sails.js
 
Azure DevOps Overview [Arabic]
Azure DevOps Overview [Arabic]Azure DevOps Overview [Arabic]
Azure DevOps Overview [Arabic]
 
JPA 2.1 on Payara Server
JPA 2.1 on Payara ServerJPA 2.1 on Payara Server
JPA 2.1 on Payara Server
 
Developing Java EE applications with NetBeans and Payara
Developing Java EE applications with NetBeans and PayaraDeveloping Java EE applications with NetBeans and Payara
Developing Java EE applications with NetBeans and Payara
 
Microservices with Spring
Microservices with SpringMicroservices with Spring
Microservices with Spring
 
Get rid of credentials from your code: Using Managed identities for Azure res...
Get rid of credentials from your code: Using Managed identities for Azure res...Get rid of credentials from your code: Using Managed identities for Azure res...
Get rid of credentials from your code: Using Managed identities for Azure res...
 
360 flex swiz
360 flex swiz360 flex swiz
360 flex swiz
 
VMworld 2013: vSphere Web Client - Technical Walkthrough
VMworld 2013: vSphere Web Client - Technical WalkthroughVMworld 2013: vSphere Web Client - Technical Walkthrough
VMworld 2013: vSphere Web Client - Technical Walkthrough
 
Microservices with Spring Boot
Microservices with Spring BootMicroservices with Spring Boot
Microservices with Spring Boot
 

Viewers also liked (8)

Presentatie Barbara Schouten (GfK) @ MPJC 2011
Presentatie Barbara Schouten (GfK) @ MPJC 2011Presentatie Barbara Schouten (GfK) @ MPJC 2011
Presentatie Barbara Schouten (GfK) @ MPJC 2011
 
Software copy
Software   copySoftware   copy
Software copy
 
Strategic Thought Leadership In The New Millennium
Strategic Thought Leadership In The New MillenniumStrategic Thought Leadership In The New Millennium
Strategic Thought Leadership In The New Millennium
 
postBuild 2012 Highlights
postBuild 2012 HighlightspostBuild 2012 Highlights
postBuild 2012 Highlights
 
Secrets of .NET Assemblies and Memory Management
Secrets of .NET Assemblies and Memory ManagementSecrets of .NET Assemblies and Memory Management
Secrets of .NET Assemblies and Memory Management
 
Inside CoreCLR
Inside CoreCLRInside CoreCLR
Inside CoreCLR
 
.Net memory management ndc london
.Net memory management   ndc london.Net memory management   ndc london
.Net memory management ndc london
 
Performance Testing for Scalable Microservices - Martin Kulov
Performance Testing for Scalable Microservices - Martin KulovPerformance Testing for Scalable Microservices - Martin Kulov
Performance Testing for Scalable Microservices - Martin Kulov
 

Similar to SofiaDev L9 Source Control Management

Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Denim Group
 
Oscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionOscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to Production
Patrick Chanezon
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 

Similar to SofiaDev L9 Source Control Management (20)

Source control - what you need to know
Source control - what you need to knowSource control - what you need to know
Source control - what you need to know
 
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
 
DevOps in the Microsoft world part 1
DevOps in the Microsoft world part 1DevOps in the Microsoft world part 1
DevOps in the Microsoft world part 1
 
DevOps by examples @ devopsheroes 2016
DevOps by examples @ devopsheroes 2016DevOps by examples @ devopsheroes 2016
DevOps by examples @ devopsheroes 2016
 
How to avoid microservice pitfalls
How to avoid microservice pitfallsHow to avoid microservice pitfalls
How to avoid microservice pitfalls
 
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
 
Version Control and Continuous Integration
Version Control and Continuous IntegrationVersion Control and Continuous Integration
Version Control and Continuous Integration
 
Oscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionOscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to Production
 
Bringing DevOps to the Database
Bringing DevOps to the DatabaseBringing DevOps to the Database
Bringing DevOps to the Database
 
Evolve 2017 - Vegas - Devops, Docker and Security
Evolve 2017 - Vegas - Devops, Docker and Security Evolve 2017 - Vegas - Devops, Docker and Security
Evolve 2017 - Vegas - Devops, Docker and Security
 
DNN Summit 2021: DNN Upgrades Made Simple
DNN Summit 2021: DNN Upgrades Made SimpleDNN Summit 2021: DNN Upgrades Made Simple
DNN Summit 2021: DNN Upgrades Made Simple
 
Penny coventry fiddler-spsbe23
Penny coventry fiddler-spsbe23Penny coventry fiddler-spsbe23
Penny coventry fiddler-spsbe23
 
DevOps+Data: Working with Source Control
DevOps+Data: Working with Source ControlDevOps+Data: Working with Source Control
DevOps+Data: Working with Source Control
 
Versioning for Developers
Versioning for DevelopersVersioning for Developers
Versioning for Developers
 
Introduction of vertical crawler
Introduction of vertical crawlerIntroduction of vertical crawler
Introduction of vertical crawler
 
GitLab 라이선스별 특징 요약 - 인포그랩
GitLab 라이선스별 특징 요약 - 인포그랩GitLab 라이선스별 특징 요약 - 인포그랩
GitLab 라이선스별 특징 요약 - 인포그랩
 
Magento Continuous Integration & Continuous Delivery @MM17HR
Magento Continuous Integration & Continuous Delivery @MM17HRMagento Continuous Integration & Continuous Delivery @MM17HR
Magento Continuous Integration & Continuous Delivery @MM17HR
 
DevOps tools for winning agility
DevOps tools for winning agilityDevOps tools for winning agility
DevOps tools for winning agility
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
Session 2
Session 2Session 2
Session 2
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

SofiaDev L9 Source Control Management

  • 1. Работа със системи за управление на сорс код Мартин Кулов Microsoft Regional Director Microsoft Most Valuable Professional
  • 2. Application Lifecycle Management • Requirements Management • Architecture • Coding • Testing • Tracking • Release Management * Source: Wikipedia
  • 3. One system to rule them all
  • 4. Source Control a.k.a. Revision Control a.k.a. Version Control
  • 6. Repository • Archived folder • Email • File Share • Proprietary • SQL Server
  • 7. Revision Tools • Microsoft Word • Open Office • Word Press • Drupal • SharePoint
  • 8. Software Tools ClientServer Distributed • CVSSVN • DCVS • IBM ClearCase • Mercurial • Perforce • Git • Visual SourceSafe • Bazaar • Team Foundation Server • …others • …many others
  • 9. Workflow Get Create Latest / Project Pull Check In Check / Out / Commit Lock Init Add / Merge Branch Change Get Latest / Pull
  • 10. Other Actions • Pending Changes / Outgoing • View History • Diff • Label / Tag • Undo Changes / Revert • Track Changeset / View Commit
  • 12. 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
  • 13. Common Branching Strategies
  • 14. Branch per Release * Source: MSDN
  • 16. Branch per Task * Source: MSDN
  • 17. Branch per Component * Source: MSDN
  • 18. Branch per Technology * Source: MSDN
  • 19. 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
  • 20. 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
  • 22. 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-version- 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/
  • 23. JOIN US ON FACEBOOK SOFIADEV .NET USER GROUP