SlideShare ist ein Scribd-Unternehmen logo
1 von 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!

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 

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