SlideShare a Scribd company logo
1 of 26
Современные системы
контроля версий.
Система Git.
РЯЗАНСКИЙ РАДИОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ВЫПОЛНИЛИ
КСЕНИЯ И АНДРЕЙ
▸Система контроля версий - система,
сохраняющая изменения в файлах для того,
чтобы потом можно было восстановить старые
версии.
СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ
ЧТО ТАКОЕ СИСТЕМА КОНТРОЛЯ ВЕРСИЙ?
Версия (в плане файлов) – изменённое
обновление
СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ
ВЕРСИЯ
▸В основном, - для программистов наиболее
актуально хранить все версии своего проекта,
чтобы привести его в исходное состояние, если
потребуется
СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ
ДЛЯ КОГО ПОЛЕЗНЫ СИСТЕМЫ КОНТРОЛЯ
ВЕРСИЙ
▸ваша многомесячная работа может потеряться в
один миг
▸сложно восстановить хронологию событий
▸если чьи - то изменения провалили тесты, то нет
есть возможности отследить - чьи и отправить код
назад
СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ
В ЧЁМ МИНУСЫ ОТСУТСТВИЯ ПОДОБНОЙ
СИСТЕМЫ?
 Системы контроля версий
ВИДЫ СИСТЕМ КОНТРОЛЯ ВЕРСИЙ
▸Локальные
▸Централизованные
▸Распределённые
 Системы контроля версий
ЛОКАЛЬНЫЕ СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ
 Системы контроля версий
ПРИМЕР ЛОКАЛЬНОЙ СКВ
▸Пример - у вас есть одна папка, которую вы
дублируете с датой изменения файлов, вносите
изменения уже в этой папке и сохраняете их
 Системы контроля версий
ЦЕНТРАЛИЗОВАННЫЕ СИСТЕМЫ КОНТРОЛЯ
ВЕРСИЙ
ПРИМЕРЫ ЦСКВ
• CVS;
• Subversion;
• Perforce.
 Системы контроля версий
РАСПРЕДЕЛЁННЫЕ СИСТЕМЫ КОНТРОЛЯ
ВЕРСИЙ
 Системы контроля версий
ПРИМЕРЫ РАСПЕРДЕЛЁННЫХ СИСТЕМ КОНТРОЛЯ
ВЕРСИИЙ
• Git
• Mercurial
• Bazaar
• Darcs
• Veracity
 Система контроля версий GIT
 Система контроля версий GIT
ЖИЗНЕННЫЙ ЦИКЛ (описание см. далее)
 Система контроля версий GIT
ПРИМЕР ЖИЗНЕННОГО ЦИКЛА GIT
Представим двух пользователей «Ксения» и «Андрей», которые
хотят совместно работать над одним проектом.
Для этого каждый клонирует центральный репозиторий.
Ксения вносит изменения и загружает их в центральный
репозиторий, в это время Андрей также вносит свои изменения и
хочет внести их в репозиторий, но у него ничего не получается, т.к
он использует старую версию проекта. Поэтому он загружает
новейшую версию проекта и вносит свои изменений в центральный
репозиторий.
Все рады и счастливы =)
 Система контроля версий GIT
ТРИ СОСТОЯНИЯ ФАЙЛОВ GIT
▸Изменённое (файл претерпел изменения, но эти
изменения ещё не были зафиксированы)
▸Подготовленное (файл изменён и отмечен для включения
в следующую версию – «слепок» всего проекта, к
которому можно вернуться при необходимости)
▸Зафиксированное(файл сохранён в локальной базе)
 Система контроля версий GIT
ПРИМЕР РАЗЛИЧИЯ ВЕРСИЙ
 Система контроля версий GIT
ТИПЫ ХРАНЕНИЯ
 Системы контроля версий
ЦЕЛОСТНОСТЬ ПРОЕКТА
При неполадках на сервере данные легко
можно восстановить с любого компьютера,
загрузившего копию
 Система контроля версий GIT
ТРАНЗАКЦИОННЫЙ ПОДХОД В УПРАВЛЕНИИ ПАКЕТАМИ
Ваша информация или доставлена, или не
доставлена совсем
 Система контроля версий GIT
ДЛЯ БОЛЬШИНСТВА ОПЕРАЦИЙ ДОСТАТОЧНО ЛОКАЛЬНЫХ
ФАЙЛОВ
Например, вы можете без труда работать в поездках без
интернета, а потом соединить свои изменения с центральным
проектом
 Система контроля версий GIT
GIT СЛЕДИТ ЗА ЦЕЛОСТНОСТЬЮ ДАННЫХ
Он рассчитывает хэш - сумму файлов - вы не
можете изменить файлы так, чтобы Git этого не
заметил
 Система контроля версий GIT
ТРАФИК ПРИ ОТПРАВКЕ ИЗМЕНЕНИЙ
Отправка изменений не занимает много
трафика, также она производится быстро.
 Система контроля версий GIT
СОЦИАЛЬНЫЙ АСПЕКТ
Git помогает улучшать быть “ближе к людям” - вы
можете просматривать качественный код других
разработчиков и Open Source проектов, отправлять
значащие изменения для улучшения кода.
Эти изменения могут принять, и вы увидите ваши
изменения в приложениях с открытым исходным
кодом.
 Система контроля версий GIT
ЗАКЛЮЧЕНИЕ
Сейчас Git – стандарт разработки. Он используется
в большинстве организаций, занимающихся
разработкой ПО, а также для open source проектах.
 Система контроля версий GIT
ПРИМЕЧАНИЕ ДЛЯ СТУДЕНТОВ
Над курсовыми и дипломами тоже намного удобнее
работать в Git.
А также полезно нарабатывать навыки, которые
используются по всему миру и будут
использоваться в дальнейшей работе.

More Related Content

What's hot

Kanban sistema
Kanban sistemaKanban sistema
Kanban sistematrukhan
 
Git для начинающих
Git для начинающихGit для начинающих
Git для начинающихVadim Drobinin
 
Фламп на спидах или ка релизить каждый день
Фламп на спидах или ка релизить каждый деньФламп на спидах или ка релизить каждый день
Фламп на спидах или ка релизить каждый деньDevDay
 

What's hot (6)

Sharapin ksr12
Sharapin ksr12Sharapin ksr12
Sharapin ksr12
 
Kanban sistema
Kanban sistemaKanban sistema
Kanban sistema
 
Lean production
Lean productionLean production
Lean production
 
Git для начинающих
Git для начинающихGit для начинающих
Git для начинающих
 
Фламп на спидах или ка релизить каждый день
Фламп на спидах или ка релизить каждый деньФламп на спидах или ка релизить каждый день
Фламп на спидах или ка релизить каждый день
 
Smed
SmedSmed
Smed
 

Similar to Виды систем контоля верий. Система Git.

Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor Dmitrii Stoian
 
Системы контроля версий
Системы контроля версийСистемы контроля версий
Системы контроля версийUnguryan Vitaliy
 
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open sourceСпецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source7bits
 
Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Dmytro Olaresko
 
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
 
Модуль 14. Лекция 55-56. Управление релизами и развертыванием продукта
Модуль 14. Лекция 55-56. Управление релизами и развертыванием продуктаМодуль 14. Лекция 55-56. Управление релизами и развертыванием продукта
Модуль 14. Лекция 55-56. Управление релизами и развертыванием продуктаYana Brodetski
 
базовые принципы работы с Git
базовые принципы работы с Gitбазовые принципы работы с Git
базовые принципы работы с GitDressTester
 
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...Александр Шамрай
 
Стажировка 2014, занятие 4. Git, Github и Open source.
Стажировка 2014, занятие 4. Git, Github и Open source.Стажировка 2014, занятие 4. Git, Github и Open source.
Стажировка 2014, занятие 4. Git, Github и Open source.7bits
 
CFEngine, Puppet, Chef, SAltStack and Ansible Failover'14
CFEngine, Puppet, Chef, SAltStack and Ansible Failover'14CFEngine, Puppet, Chef, SAltStack and Ansible Failover'14
CFEngine, Puppet, Chef, SAltStack and Ansible Failover'14Serguei Gitinsky
 
Спецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версийСпецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версий7bits
 
«Механизмы обновления платформы и окружений пользователей в Jelastic»
«Механизмы обновления платформы и окружений пользователей в Jelastic»«Механизмы обновления платформы и окружений пользователей в Jelastic»
«Механизмы обновления платформы и окружений пользователей в Jelastic»Nata_Churda
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Как успешно запустить проект в продакшен. Пётр Адрианов
Как успешно запустить проект в продакшен.   Пётр АдриановКак успешно запустить проект в продакшен.   Пётр Адрианов
Как успешно запустить проект в продакшен. Пётр АдриановYana Kazantseva
 
Как успешно запустить проект в продакшен. Пётр адрианов.
Как успешно запустить проект в продакшен.  Пётр адрианов.Как успешно запустить проект в продакшен.  Пётр адрианов.
Как успешно запустить проект в продакшен. Пётр адрианов.NTR Lab
 

Similar to Виды систем контоля верий. Система Git. (20)

Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor
 
Dev collaboration
Dev collaborationDev collaboration
Dev collaboration
 
Системы контроля версий
Системы контроля версийСистемы контроля версий
Системы контроля версий
 
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open sourceСпецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
 
Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.
 
TFS Version Control (www.cmcons.com)
TFS Version Control (www.cmcons.com)TFS Version Control (www.cmcons.com)
TFS Version Control (www.cmcons.com)
 
Модуль 14. Лекция 55-56. Управление релизами и развертыванием продукта
Модуль 14. Лекция 55-56. Управление релизами и развертыванием продуктаМодуль 14. Лекция 55-56. Управление релизами и развертыванием продукта
Модуль 14. Лекция 55-56. Управление релизами и развертыванием продукта
 
базовые принципы работы с Git
базовые принципы работы с Gitбазовые принципы работы с Git
базовые принципы работы с Git
 
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
 
DevHub 3 - CVS
DevHub 3 - CVSDevHub 3 - CVS
DevHub 3 - CVS
 
Начало работы с Git (версия 2016)
Начало работы с Git (версия 2016)Начало работы с Git (версия 2016)
Начало работы с Git (версия 2016)
 
Стажировка 2014, занятие 4. Git, Github и Open source.
Стажировка 2014, занятие 4. Git, Github и Open source.Стажировка 2014, занятие 4. Git, Github и Open source.
Стажировка 2014, занятие 4. Git, Github и Open source.
 
CFEngine, Puppet, Chef, SAltStack and Ansible Failover'14
CFEngine, Puppet, Chef, SAltStack and Ansible Failover'14CFEngine, Puppet, Chef, SAltStack and Ansible Failover'14
CFEngine, Puppet, Chef, SAltStack and Ansible Failover'14
 
Спецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версийСпецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версий
 
«Механизмы обновления платформы и окружений пользователей в Jelastic»
«Механизмы обновления платформы и окружений пользователей в Jelastic»«Механизмы обновления платформы и окружений пользователей в Jelastic»
«Механизмы обновления платформы и окружений пользователей в Jelastic»
 
Training Labs (www.cmcons.com)
Training Labs (www.cmcons.com)Training Labs (www.cmcons.com)
Training Labs (www.cmcons.com)
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Как успешно запустить проект в продакшен. Пётр Адрианов
Как успешно запустить проект в продакшен.   Пётр АдриановКак успешно запустить проект в продакшен.   Пётр Адрианов
Как успешно запустить проект в продакшен. Пётр Адрианов
 
Как успешно запустить проект в продакшен. Пётр адрианов.
Как успешно запустить проект в продакшен.  Пётр адрианов.Как успешно запустить проект в продакшен.  Пётр адрианов.
Как успешно запустить проект в продакшен. Пётр адрианов.
 
CM Management (www.cmcons.com)
CM Management (www.cmcons.com)CM Management (www.cmcons.com)
CM Management (www.cmcons.com)
 

Виды систем контоля верий. Система Git.

  • 1. Современные системы контроля версий. Система Git. РЯЗАНСКИЙ РАДИОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ВЫПОЛНИЛИ КСЕНИЯ И АНДРЕЙ
  • 2. ▸Система контроля версий - система, сохраняющая изменения в файлах для того, чтобы потом можно было восстановить старые версии. СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ ЧТО ТАКОЕ СИСТЕМА КОНТРОЛЯ ВЕРСИЙ?
  • 3. Версия (в плане файлов) – изменённое обновление СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ ВЕРСИЯ
  • 4. ▸В основном, - для программистов наиболее актуально хранить все версии своего проекта, чтобы привести его в исходное состояние, если потребуется СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ ДЛЯ КОГО ПОЛЕЗНЫ СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ
  • 5. ▸ваша многомесячная работа может потеряться в один миг ▸сложно восстановить хронологию событий ▸если чьи - то изменения провалили тесты, то нет есть возможности отследить - чьи и отправить код назад СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ В ЧЁМ МИНУСЫ ОТСУТСТВИЯ ПОДОБНОЙ СИСТЕМЫ?
  • 6.  Системы контроля версий ВИДЫ СИСТЕМ КОНТРОЛЯ ВЕРСИЙ ▸Локальные ▸Централизованные ▸Распределённые
  • 7.  Системы контроля версий ЛОКАЛЬНЫЕ СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ
  • 8.  Системы контроля версий ПРИМЕР ЛОКАЛЬНОЙ СКВ ▸Пример - у вас есть одна папка, которую вы дублируете с датой изменения файлов, вносите изменения уже в этой папке и сохраняете их
  • 9.  Системы контроля версий ЦЕНТРАЛИЗОВАННЫЕ СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ
  • 10. ПРИМЕРЫ ЦСКВ • CVS; • Subversion; • Perforce.
  • 11.  Системы контроля версий РАСПРЕДЕЛЁННЫЕ СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ
  • 12.  Системы контроля версий ПРИМЕРЫ РАСПЕРДЕЛЁННЫХ СИСТЕМ КОНТРОЛЯ ВЕРСИИЙ • Git • Mercurial • Bazaar • Darcs • Veracity
  • 14.  Система контроля версий GIT ЖИЗНЕННЫЙ ЦИКЛ (описание см. далее)
  • 15.  Система контроля версий GIT ПРИМЕР ЖИЗНЕННОГО ЦИКЛА GIT Представим двух пользователей «Ксения» и «Андрей», которые хотят совместно работать над одним проектом. Для этого каждый клонирует центральный репозиторий. Ксения вносит изменения и загружает их в центральный репозиторий, в это время Андрей также вносит свои изменения и хочет внести их в репозиторий, но у него ничего не получается, т.к он использует старую версию проекта. Поэтому он загружает новейшую версию проекта и вносит свои изменений в центральный репозиторий. Все рады и счастливы =)
  • 16.  Система контроля версий GIT ТРИ СОСТОЯНИЯ ФАЙЛОВ GIT ▸Изменённое (файл претерпел изменения, но эти изменения ещё не были зафиксированы) ▸Подготовленное (файл изменён и отмечен для включения в следующую версию – «слепок» всего проекта, к которому можно вернуться при необходимости) ▸Зафиксированное(файл сохранён в локальной базе)
  • 17.  Система контроля версий GIT ПРИМЕР РАЗЛИЧИЯ ВЕРСИЙ
  • 18.  Система контроля версий GIT ТИПЫ ХРАНЕНИЯ
  • 19.  Системы контроля версий ЦЕЛОСТНОСТЬ ПРОЕКТА При неполадках на сервере данные легко можно восстановить с любого компьютера, загрузившего копию
  • 20.  Система контроля версий GIT ТРАНЗАКЦИОННЫЙ ПОДХОД В УПРАВЛЕНИИ ПАКЕТАМИ Ваша информация или доставлена, или не доставлена совсем
  • 21.  Система контроля версий GIT ДЛЯ БОЛЬШИНСТВА ОПЕРАЦИЙ ДОСТАТОЧНО ЛОКАЛЬНЫХ ФАЙЛОВ Например, вы можете без труда работать в поездках без интернета, а потом соединить свои изменения с центральным проектом
  • 22.  Система контроля версий GIT GIT СЛЕДИТ ЗА ЦЕЛОСТНОСТЬЮ ДАННЫХ Он рассчитывает хэш - сумму файлов - вы не можете изменить файлы так, чтобы Git этого не заметил
  • 23.  Система контроля версий GIT ТРАФИК ПРИ ОТПРАВКЕ ИЗМЕНЕНИЙ Отправка изменений не занимает много трафика, также она производится быстро.
  • 24.  Система контроля версий GIT СОЦИАЛЬНЫЙ АСПЕКТ Git помогает улучшать быть “ближе к людям” - вы можете просматривать качественный код других разработчиков и Open Source проектов, отправлять значащие изменения для улучшения кода. Эти изменения могут принять, и вы увидите ваши изменения в приложениях с открытым исходным кодом.
  • 25.  Система контроля версий GIT ЗАКЛЮЧЕНИЕ Сейчас Git – стандарт разработки. Он используется в большинстве организаций, занимающихся разработкой ПО, а также для open source проектах.
  • 26.  Система контроля версий GIT ПРИМЕЧАНИЕ ДЛЯ СТУДЕНТОВ Над курсовыми и дипломами тоже намного удобнее работать в Git. А также полезно нарабатывать навыки, которые используются по всему миру и будут использоваться в дальнейшей работе.

Editor's Notes

  1. системы, имеющие централизованный сервер, на котором хранятся все отслеживаемые файлы, а клиент получает их копии. Из недостатков можно выделить то, что централизованный сервер является слабым местом всей системы, а также можно изменять один и тот же файл и случайно стереть чужие изменения