SlideShare a Scribd company logo
1 of 15
Distributed Version
      Control Systems

  Fix that bug NOW!    Сидоров Игорь,
Сделайте это вчера!    ООО «СофТраст»
      © your boss     www.iteamlead.net
Обзор
• Что такое DVCS
• Преимущества
• Ветвление/Слияние
• Недостатки
• Hg vs. Git
                      SVN – это не то, что вам нужно
DVCS за 5 минут
 Центральный репозиторий
DVCS за 5 минут
 Гибкий рабочий процесс
DVCS за 5 минут
   Развертывание


             pro
   dev
              d
DVCS за 5 минут
   Иерархия доверия
Работаем offline
У каждого своя полная
        копия
Это быстро!
Ветвление
                                  release



   “trunk”

bugfix branch

feature branch



                  feature X   bugfix feature X
Слияние в SVN
             Merge before commit
            remote   local

                             update

                             run tests; no errors

                             write code

 error in                    run tests; no errors
commit?
                                                        error in
                             update + solve conflicts
                                                        merge?

                             run tests; errors



      No commit to revert to!
Слияние в DVCS
            Commit before merge
            remote   local

                             update

                             run tests; no errors

                             write code
                                                           Revert to
 error in                    run tests; no errors
commit?                                                 working commit
                             make local commit           and try again
                                                           error in
                             update + solve conflicts      merge?

                             run tests; errors
Недостатки
• Потеря простоты модели
• Более, чем один путь сделать одно и
  тоже
• Нельзя взять часть репозитория
• Надо читать доки :)
Mercurial vs. Git



 Who the FUCK cares?
  Use what YOU like
Спасибо!
Вопросы?

            Сидоров Игорь,
            ООО «СофТраст»
           www.iteamlead.net

More Related Content

What's hot

Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
COMAQA.BY
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON
 
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
IT-Portfolio
 
Contineous Integration by Надежда Кныш
Contineous Integration by Надежда КнышContineous Integration by Надежда Кныш
Contineous Integration by Надежда Кныш
QA Club Minsk
 
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
SQALab
 
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest
 

What's hot (20)

Алексей Рыстенко: Continuous Integration
Алексей Рыстенко: Continuous IntegrationАлексей Рыстенко: Continuous Integration
Алексей Рыстенко: Continuous Integration
 
Codeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышлоCodeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышло
 
AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)AgileCamp’11 Новосибирск - Continuous Integration (CI)
AgileCamp’11 Новосибирск - Continuous Integration (CI)
 
selenium stack in python
selenium stack in pythonselenium stack in python
selenium stack in python
 
Wgforge CI/CD
Wgforge CI/CDWgforge CI/CD
Wgforge CI/CD
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
 
Continuousdelivery
ContinuousdeliveryContinuousdelivery
Continuousdelivery
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
 
Организация процессов разработки – введение в Microsoft alm final
Организация процессов разработки – введение в Microsoft alm finalОрганизация процессов разработки – введение в Microsoft alm final
Организация процессов разработки – введение в Microsoft alm final
 
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOps
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOpsALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOps
ALM Roadshow Организация процессов разработки – введение в Microsoft ALM/DevOps
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsWinium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
 
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
 
Contineous Integration by Надежда Кныш
Contineous Integration by Надежда КнышContineous Integration by Надежда Кныш
Contineous Integration by Надежда Кныш
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows Docker
 
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
Crystal Agile, или как мы приспособили процесс разработки для обеспечения мак...
 
Great functional testing with WebDriver and Thucydides
Great functional testing with WebDriver and ThucydidesGreat functional testing with WebDriver and Thucydides
Great functional testing with WebDriver and Thucydides
 
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
 

Viewers also liked

Innovatiemanagement examen callewaert kjill
Innovatiemanagement examen callewaert kjillInnovatiemanagement examen callewaert kjill
Innovatiemanagement examen callewaert kjill
kjill
 
территория здоровья 2011
территория здоровья 2011территория здоровья 2011
территория здоровья 2011
elvira38
 
9 leadership development strategies
9 leadership development strategies9 leadership development strategies
9 leadership development strategies
Abhishek Saha
 
Mba724 s4 2 correlation
Mba724 s4 2 correlationMba724 s4 2 correlation
Mba724 s4 2 correlation
Rachel Chung
 
Revisi ta manajemen kualitas
Revisi ta manajemen kualitasRevisi ta manajemen kualitas
Revisi ta manajemen kualitas
'Wawan Kurniawan'
 
Balancing Equations #1
Balancing Equations #1Balancing Equations #1
Balancing Equations #1
jmori1
 

Viewers also liked (20)

RemiDeVos_Research_Contribution
RemiDeVos_Research_ContributionRemiDeVos_Research_Contribution
RemiDeVos_Research_Contribution
 
Innovatiemanagement examen callewaert kjill
Innovatiemanagement examen callewaert kjillInnovatiemanagement examen callewaert kjill
Innovatiemanagement examen callewaert kjill
 
Dasar Database
Dasar DatabaseDasar Database
Dasar Database
 
China in African Agriculture - Henry Tugendhat
China in African Agriculture - Henry TugendhatChina in African Agriculture - Henry Tugendhat
China in African Agriculture - Henry Tugendhat
 
Festa della madre della salvezza (mini book)
Festa della madre della salvezza (mini book)Festa della madre della salvezza (mini book)
Festa della madre della salvezza (mini book)
 
Dskp rbt tahun 6
Dskp rbt tahun 6Dskp rbt tahun 6
Dskp rbt tahun 6
 
Pt 1
Pt 1Pt 1
Pt 1
 
The Ten Best Reads of 2014
The Ten Best Reads of 2014The Ten Best Reads of 2014
The Ten Best Reads of 2014
 
территория здоровья 2011
территория здоровья 2011территория здоровья 2011
территория здоровья 2011
 
Materi 3 Coding dan Testing aplikasi
Materi 3 Coding dan Testing aplikasiMateri 3 Coding dan Testing aplikasi
Materi 3 Coding dan Testing aplikasi
 
9 leadership development strategies
9 leadership development strategies9 leadership development strategies
9 leadership development strategies
 
Mba724 s4 2 correlation
Mba724 s4 2 correlationMba724 s4 2 correlation
Mba724 s4 2 correlation
 
Political economy of agricultural policy processes in Africa with a focus on ...
Political economy of agricultural policy processes in Africa with a focus on ...Political economy of agricultural policy processes in Africa with a focus on ...
Political economy of agricultural policy processes in Africa with a focus on ...
 
Comicus-Markedsføring-2015
Comicus-Markedsføring-2015Comicus-Markedsføring-2015
Comicus-Markedsføring-2015
 
Comicus the greatest-2015
Comicus the greatest-2015Comicus the greatest-2015
Comicus the greatest-2015
 
De verschillende beveiligingsrisico’s van mobiele toepassingen en Devices
De verschillende beveiligingsrisico’s van mobiele toepassingen en DevicesDe verschillende beveiligingsrisico’s van mobiele toepassingen en Devices
De verschillende beveiligingsrisico’s van mobiele toepassingen en Devices
 
Modena
ModenaModena
Modena
 
Revisi ta manajemen kualitas
Revisi ta manajemen kualitasRevisi ta manajemen kualitas
Revisi ta manajemen kualitas
 
Balancing Equations #1
Balancing Equations #1Balancing Equations #1
Balancing Equations #1
 
Infographic - Cloud Monitoring Basics Cheat Sheet
Infographic - Cloud Monitoring Basics Cheat SheetInfographic - Cloud Monitoring Basics Cheat Sheet
Infographic - Cloud Monitoring Basics Cheat Sheet
 

Similar to Distributed Version Control Systems

Антон Непомнящих - 100 лет без авралов или зачем проекту креативный менеджер ...
Антон Непомнящих - 100 лет без авралов или зачем проекту креативный менеджер ...Антон Непомнящих - 100 лет без авралов или зачем проекту креативный менеджер ...
Антон Непомнящих - 100 лет без авралов или зачем проекту креативный менеджер ...
HappyDev
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
Technopark
 
Иван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать житьИван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать жить
Daria Oreshkina
 
CodeFest 2014. Шкредов С. — Управление зависимостями в архитектуре. Переход о...
CodeFest 2014. Шкредов С. — Управление зависимостями в архитектуре. Переход о...CodeFest 2014. Шкредов С. — Управление зависимостями в архитектуре. Переход о...
CodeFest 2014. Шкредов С. — Управление зависимостями в архитектуре. Переход о...
CodeFest
 
Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5
Technopark
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1C
Alexey Lustin
 
Continuous Delivery in Enterprise / Agile Kitchen 2016
Continuous Delivery in Enterprise / Agile Kitchen 2016Continuous Delivery in Enterprise / Agile Kitchen 2016
Continuous Delivery in Enterprise / Agile Kitchen 2016
pbiryukov
 
Benefits of unit-testing and inversion of controll
Benefits of unit-testing and inversion of controllBenefits of unit-testing and inversion of controll
Benefits of unit-testing and inversion of controll
Mykyta Hopkalo
 
Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...
tabtabus
 
Виктор Стрелков - Jabber как инструмент разработчика
Виктор Стрелков - Jabber как инструмент разработчикаВиктор Стрелков - Jabber как инструмент разработчика
Виктор Стрелков - Jabber как инструмент разработчика
Positive Hack Days
 

Similar to Distributed Version Control Systems (20)

Антон Непомнящих - 100 лет без авралов или зачем проекту креативный менеджер ...
Антон Непомнящих - 100 лет без авралов или зачем проекту креативный менеджер ...Антон Непомнящих - 100 лет без авралов или зачем проекту креативный менеджер ...
Антон Непомнящих - 100 лет без авралов или зачем проекту креативный менеджер ...
 
Эволюция средств тестирования от HP
Эволюция средств тестирования от HPЭволюция средств тестирования от HP
Эволюция средств тестирования от HP
 
уразбаев асхат - процесс улучшения процесса улучшения процесса
уразбаев асхат - процесс улучшения процесса улучшения процессауразбаев асхат - процесс улучшения процесса улучшения процесса
уразбаев асхат - процесс улучшения процесса улучшения процесса
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
 
Иван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать житьИван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать жить
 
CodeFest 2014. Шкредов С. — Управление зависимостями в архитектуре. Переход о...
CodeFest 2014. Шкредов С. — Управление зависимостями в архитектуре. Переход о...CodeFest 2014. Шкредов С. — Управление зависимостями в архитектуре. Переход о...
CodeFest 2014. Шкредов С. — Управление зависимостями в архитектуре. Переход о...
 
Как я перестал беспокоиться и полюбил Redux
Как я перестал беспокоиться и полюбил ReduxКак я перестал беспокоиться и полюбил Redux
Как я перестал беспокоиться и полюбил Redux
 
Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5
 
Continuous integration with TeamCity
Continuous integration with TeamCityContinuous integration with TeamCity
Continuous integration with TeamCity
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
Способы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюСпособы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированию
 
Автоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1CАвтоматическая сборка и развертывание на платформе 1C
Автоматическая сборка и развертывание на платформе 1C
 
Continuous Delivery in Enterprise / Agile Kitchen 2016
Continuous Delivery in Enterprise / Agile Kitchen 2016Continuous Delivery in Enterprise / Agile Kitchen 2016
Continuous Delivery in Enterprise / Agile Kitchen 2016
 
Benefits of unit-testing and inversion of controll
Benefits of unit-testing and inversion of controllBenefits of unit-testing and inversion of controll
Benefits of unit-testing and inversion of controll
 
вольфсон борис - кайзен процесс непрерывного совершенствования
вольфсон борис -  кайзен процесс непрерывного совершенствованиявольфсон борис -  кайзен процесс непрерывного совершенствования
вольфсон борис - кайзен процесс непрерывного совершенствования
 
Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...
 
Виктор Стрелков - Jabber как инструмент разработчика
Виктор Стрелков - Jabber как инструмент разработчикаВиктор Стрелков - Jabber как инструмент разработчика
Виктор Стрелков - Jabber как инструмент разработчика
 
Веб 3.0. Есть ли будущее у Java в RIA и Mobile?
Веб 3.0. Есть ли будущее у Java в RIA и Mobile?Веб 3.0. Есть ли будущее у Java в RIA и Mobile?
Веб 3.0. Есть ли будущее у Java в RIA и Mobile?
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 

Distributed Version Control Systems

  • 1. Distributed Version Control Systems Fix that bug NOW! Сидоров Игорь, Сделайте это вчера! ООО «СофТраст» © your boss www.iteamlead.net
  • 2. Обзор • Что такое DVCS • Преимущества • Ветвление/Слияние • Недостатки • Hg vs. Git SVN – это не то, что вам нужно
  • 3. DVCS за 5 минут Центральный репозиторий
  • 4. DVCS за 5 минут Гибкий рабочий процесс
  • 5. DVCS за 5 минут Развертывание pro dev d
  • 6. DVCS за 5 минут Иерархия доверия
  • 8. У каждого своя полная копия
  • 10. Ветвление release “trunk” bugfix branch feature branch feature X bugfix feature X
  • 11. Слияние в SVN Merge before commit remote local update run tests; no errors write code error in run tests; no errors commit? error in update + solve conflicts merge? run tests; errors No commit to revert to!
  • 12. Слияние в DVCS Commit before merge remote local update run tests; no errors write code Revert to error in run tests; no errors commit? working commit make local commit and try again error in update + solve conflicts merge? run tests; errors
  • 13. Недостатки • Потеря простоты модели • Более, чем один путь сделать одно и тоже • Нельзя взять часть репозитория • Надо читать доки :)
  • 14. Mercurial vs. Git Who the FUCK cares? Use what YOU like
  • 15. Спасибо! Вопросы? Сидоров Игорь, ООО «СофТраст» www.iteamlead.net