SlideShare a Scribd company logo
Николаева Ольга, ПИ-101
ЧТО ТАКОЕ СИСТЕМА КОНТРОЛЯ
             ВЕРСИЙ?
Система управления версиями (от англ. Version Control System,
VCS или Revision Control System) — ПО для управления версиями,
которое позволяет хранить несколько версий одного и того же
документа, при необходимости возвращаться к более ранним версиям,
определять, кто и когда сделал то или иное изменение, и многое другое.
ТЕРМИНЫ
Репозиторий - хранилище, которое содержит версии файлов.

Рабочая версия – та версия файла, с которой на данный момент
ведется работа, и которая не загружена в репозиторий.


Коммит – операция по фиксации изменений файлов в репозитории.


Ветвь - выделение от ствола в какой-то версии нового варианта
проекта или его части, разработка в котором ведется параллельно.


Слияние версий – операция, при которой изменения, сделанные в
одной ветви разработки, сливаются с изменениями, сделанными в
другой
ЗАЧЕМ НУЖНЫ VCS?
КАКИЕ БЫВАЮТ VCS?


               VCS



Централизованные     Распределенные
Централизованные VCS
           CVS               VS


1. Не нужно явно указывать является ли файл текстовым или бинарным

2. Появились атрибуты файлов и каталогов

3. Отслеживается работа с директориями и перемещением файлов

4. Атомарные коммиты

5. Версии всех файлов имеют единую сквозную
нумерацию – ревизию

6. Плохо организован механизм слияния ветвей
1. Работа ‘всех’ разработчиков     1. Простое управление выпуском
пропасть не может вообще.          релизов

2. Часто выполняемые операции      2. Легкое управление ходом
происходят почти мгновенно, т.к.   развития программы
не требуют соединения по сети.
                                   3. Централизованный контроль
3. Каждый разработчик может        прав доступа
создавать в своем репозитории
ветки для каких-то экспериментов   4. Управляющему удобно
                                   следить за работой команды
4. Более эффективно
реализована операция слияния
веток
5. Каждый разработчик может
взять у другого один или
несколько коммитов, применив
их к своему коду.
КАК ПОЛЬЗОВАТЬСЯ?
1. Открываем cmd

2. Переходим в папку с проектом


>hg init
>hg     add
>hg     commit –m”first commit”
>hg     log
>hg     revert --all
>hg update –r 2
ВОПРОСЫ?

More Related Content

What's hot

Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис ВоскобойникКак работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Образовательные мероприятия "Netpeak Talks"
 
Continous Integration
Continous IntegrationContinous Integration
Continous Integration
GetDev.NET
 
TFS Version Control (www.cmcons.com)
TFS Version Control (www.cmcons.com)TFS Version Control (www.cmcons.com)
TFS Version Control (www.cmcons.com)
Alexander Novichkov
 
вопрос.docx
вопрос.docxвопрос.docx
вопрос.docx
Jeff Smith
 
Системы контроля версий
Системы контроля версийСистемы контроля версий
Системы контроля версий
Pavel Treshnikov
 
Как приручить реактивное программирование
Как приручить реактивное программированиеКак приручить реактивное программирование
Как приручить реактивное программирование
DotNetConf
 
Непрерывная интеграция. Практическое применение
Непрерывная интеграция. Практическое применениеНепрерывная интеграция. Практическое применение
Непрерывная интеграция. Практическое применениеdevclub
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 57bits
 
Как Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QAКак Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QA
SQALab
 
5 колчинская
5 колчинская 5 колчинская
5 колчинская qasib
 
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
AvitoTech
 
Maven как средство сборки проекта
Maven как средство сборки проектаMaven как средство сборки проекта
Maven как средство сборки проектаYova Stoika
 
«CI. Jenkins. 2GIS» — Игорь Павлов, 2ГИС
«CI. Jenkins. 2GIS» — Игорь Павлов, 2ГИС «CI. Jenkins. 2GIS» — Игорь Павлов, 2ГИС
«CI. Jenkins. 2GIS» — Игорь Павлов, 2ГИС
DevDay
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времени
Andriy Samilyak
 
Java. Lecture 12. Development Tools
Java. Lecture 12. Development ToolsJava. Lecture 12. Development Tools
Java. Lecture 12. Development Toolscolriot
 
Стажировка 2015. Разработка. Занятие 7. Работа с серверами
Стажировка 2015. Разработка. Занятие 7. Работа с серверамиСтажировка 2015. Разработка. Занятие 7. Работа с серверами
Стажировка 2015. Разработка. Занятие 7. Работа с серверами
7bits
 

What's hot (20)

Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис ВоскобойникКак работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
 
Continous Integration
Continous IntegrationContinous Integration
Continous Integration
 
TFS Version Control (www.cmcons.com)
TFS Version Control (www.cmcons.com)TFS Version Control (www.cmcons.com)
TFS Version Control (www.cmcons.com)
 
вопрос.docx
вопрос.docxвопрос.docx
вопрос.docx
 
Системы контроля версий
Системы контроля версийСистемы контроля версий
Системы контроля версий
 
Как приручить реактивное программирование
Как приручить реактивное программированиеКак приручить реактивное программирование
Как приручить реактивное программирование
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Непрерывная интеграция. Практическое применение
Непрерывная интеграция. Практическое применениеНепрерывная интеграция. Практическое применение
Непрерывная интеграция. Практическое применение
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5
 
Как Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QAКак Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QA
 
MS TFS 2010 - Управление версиями
MS TFS 2010 - Управление версиямиMS TFS 2010 - Управление версиями
MS TFS 2010 - Управление версиями
 
5 колчинская
5 колчинская 5 колчинская
5 колчинская
 
Windw
WindwWindw
Windw
 
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
"Sphinx 3.0 в реальной жизни" Андрей Смирнов (Avito)
 
Maven как средство сборки проекта
Maven как средство сборки проектаMaven как средство сборки проекта
Maven как средство сборки проекта
 
«CI. Jenkins. 2GIS» — Игорь Павлов, 2ГИС
«CI. Jenkins. 2GIS» — Игорь Павлов, 2ГИС «CI. Jenkins. 2GIS» — Игорь Павлов, 2ГИС
«CI. Jenkins. 2GIS» — Игорь Павлов, 2ГИС
 
C#5 What's new?
C#5 What's new?C#5 What's new?
C#5 What's new?
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времени
 
Java. Lecture 12. Development Tools
Java. Lecture 12. Development ToolsJava. Lecture 12. Development Tools
Java. Lecture 12. Development Tools
 
Стажировка 2015. Разработка. Занятие 7. Работа с серверами
Стажировка 2015. Разработка. Занятие 7. Работа с серверамиСтажировка 2015. Разработка. Занятие 7. Работа с серверами
Стажировка 2015. Разработка. Занятие 7. Работа с серверами
 

Similar to системы контроля версий

Системы контроля версий
Системы контроля версийСистемы контроля версий
Системы контроля версий
Unguryan Vitaliy
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor
Dmitrii Stoian
 
«Собор или базар»: системы контроля версий — централизованные или распределен...
«Собор или базар»: системы контроля версий — централизованные или распределен...«Собор или базар»: системы контроля версий — централизованные или распределен...
«Собор или базар»: системы контроля версий — централизованные или распределен...
Stas Fomin
 
Java one presentation
Java one presentationJava one presentation
Java one presentation
Shamim bhuiyan
 
Prezentatsia Elina
Prezentatsia ElinaPrezentatsia Elina
Prezentatsia Elina
Elina Kantjukova
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПО
Anton Konushin
 
FFCMS - вводная для пользователя
FFCMS - вводная для пользователяFFCMS - вводная для пользователя
FFCMS - вводная для пользователя
zenn1989
 
«Механизмы обновления платформы и окружений пользователей в Jelastic»
«Механизмы обновления платформы и окружений пользователей в Jelastic»«Механизмы обновления платформы и окружений пользователей в Jelastic»
«Механизмы обновления платформы и окружений пользователей в Jelastic»
Nata_Churda
 
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
Александр Шамрай
 
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Ontico
 
метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кодаSergii Shmarkatiuk
 
"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)
SPB SQA Group
 
Scino: DVCS на примере Git
Scino: DVCS на примере GitScino: DVCS на примере Git
Scino: DVCS на примере Git
SCINO
 
Менеджер пакетов NuGet
Менеджер пакетов NuGetМенеджер пакетов NuGet
Менеджер пакетов NuGet
GetDev.NET
 
Как devops исчерпывает себя и что будет дальше
Как devops исчерпывает себя и что будет дальшеКак devops исчерпывает себя и что будет дальше
Как devops исчерпывает себя и что будет дальше
Kirill Vechera
 
Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)
Vladimir Bakhov
 
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
WDDay
 
«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...MDDay_4
 

Similar to системы контроля версий (20)

Системы контроля версий
Системы контроля версийСистемы контроля версий
Системы контроля версий
 
Dev collaboration
Dev collaborationDev collaboration
Dev collaboration
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor
 
«Собор или базар»: системы контроля версий — централизованные или распределен...
«Собор или базар»: системы контроля версий — централизованные или распределен...«Собор или базар»: системы контроля версий — централизованные или распределен...
«Собор или базар»: системы контроля версий — централизованные или распределен...
 
Java one presentation
Java one presentationJava one presentation
Java one presentation
 
Prezentatsia Elina
Prezentatsia ElinaPrezentatsia Elina
Prezentatsia Elina
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПО
 
FFCMS - вводная для пользователя
FFCMS - вводная для пользователяFFCMS - вводная для пользователя
FFCMS - вводная для пользователя
 
«Механизмы обновления платформы и окружений пользователей в Jelastic»
«Механизмы обновления платформы и окружений пользователей в Jelastic»«Механизмы обновления платформы и окружений пользователей в Jelastic»
«Механизмы обновления платформы и окружений пользователей в Jelastic»
 
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
 
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
 
метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кода
 
"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)
 
Scino: DVCS на примере Git
Scino: DVCS на примере GitScino: DVCS на примере Git
Scino: DVCS на примере Git
 
Git basis
Git basisGit basis
Git basis
 
Менеджер пакетов NuGet
Менеджер пакетов NuGetМенеджер пакетов NuGet
Менеджер пакетов NuGet
 
Как devops исчерпывает себя и что будет дальше
Как devops исчерпывает себя и что будет дальшеКак devops исчерпывает себя и что будет дальше
Как devops исчерпывает себя и что будет дальше
 
Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)
 
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
 
«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...
 

системы контроля версий

  • 2. ЧТО ТАКОЕ СИСТЕМА КОНТРОЛЯ ВЕРСИЙ? Система управления версиями (от англ. Version Control System, VCS или Revision Control System) — ПО для управления версиями, которое позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, и многое другое.
  • 3. ТЕРМИНЫ Репозиторий - хранилище, которое содержит версии файлов. Рабочая версия – та версия файла, с которой на данный момент ведется работа, и которая не загружена в репозиторий. Коммит – операция по фиксации изменений файлов в репозитории. Ветвь - выделение от ствола в какой-то версии нового варианта проекта или его части, разработка в котором ведется параллельно. Слияние версий – операция, при которой изменения, сделанные в одной ветви разработки, сливаются с изменениями, сделанными в другой
  • 5.
  • 6.
  • 7. КАКИЕ БЫВАЮТ VCS? VCS Централизованные Распределенные
  • 8. Централизованные VCS CVS VS 1. Не нужно явно указывать является ли файл текстовым или бинарным 2. Появились атрибуты файлов и каталогов 3. Отслеживается работа с директориями и перемещением файлов 4. Атомарные коммиты 5. Версии всех файлов имеют единую сквозную нумерацию – ревизию 6. Плохо организован механизм слияния ветвей
  • 9.
  • 10. 1. Работа ‘всех’ разработчиков 1. Простое управление выпуском пропасть не может вообще. релизов 2. Часто выполняемые операции 2. Легкое управление ходом происходят почти мгновенно, т.к. развития программы не требуют соединения по сети. 3. Централизованный контроль 3. Каждый разработчик может прав доступа создавать в своем репозитории ветки для каких-то экспериментов 4. Управляющему удобно следить за работой команды 4. Более эффективно реализована операция слияния веток 5. Каждый разработчик может взять у другого один или несколько коммитов, применив их к своему коду.
  • 11. КАК ПОЛЬЗОВАТЬСЯ? 1. Открываем cmd 2. Переходим в папку с проектом >hg init >hg add >hg commit –m”first commit” >hg log >hg revert --all >hg update –r 2