SlideShare a Scribd company logo
1 of 45
Download to read offline
Системы 
контроля версий 
Чистяков Денис 
Руководитель группы разработки интерфейсов 
Школа Разработки Интерфейсов, 
Екатеринбург, 19 сентября 2013
Мир без VCS
Резервные копии 
3
Резервные копии 
• Плюсы 
–Простой старт 
–Не требует дополнительных навыков и 
программ 
• Минусы 
–Проект разрастается, и папочек становится 
слишком много 
–Сложно находить различия между «версиями» 
–Непригодно для совместной разработки 
4
Для чего нам нужны VCS 
• Архивация и восстановление 
• Синхронизация работы команды 
• Хранение истории разработки 
• Отмена изменений 
• Экспериментальные реализации 
5
Базовые термины 
• репозиторий, сервер, клиент 
• рабочая копия, ревизия, коммит, описание 
коммита 
• ветки, слияния, конфликты 
6
VCS бывают 
Централизованные 
SVN, CVS, Perforce 
Децентрализованные 
GIT, Mercurial, Bazaar
Централизованные
Децентрализованные
Приготовим обед в GIT`е 
10
Добавление, удаление, коммит и пуш 
git add milk 
git commit -m 'Добавлено молоко' 
git add eggs 
git commit -m 'Добавлены яйца' 
git add juice 
git commit -m 'Добавлен сок' 
git rm juice 
git add soup 
git commit -m 'Добавлен суп' 
git push origin master 
11
Ветвление 
12
Ветвление 
git checkout -b 'rice' 
git add rice 
git commit -m 'Добавлен рис' 
git push origin rice 
13 
Ветка «Рис»:
Мастер: 
git checkout master 
git add bread 
git commit -m 'Добавлен хлеб' 
git push origin master 
14 
Ветвление
Слияние 
15
Мастер: 
git checkout master 
git pull 
git merge rice 
git push origin master 
16 
Слияние
Конфликты 
17
Мастер: 
git checkout master 
git pull 
git merge rice 
git checkout eggs --ours / --theirs 
git add eggs 
git commit 
git push origin master 
18 
Конфликты
Базовые действия 
• clone 
• checkout 
• add / rm 
• commit 
• branch 
• merge 
• diff 
• pull 
• push 
19
GitHub Flow 
Fork 
Fork
Fork`и и PullRequest`ы — это не магия
Полезные ссылки 
• http://io.git-init.ru/git-trainer/ — визуальный эмулятор GIT 
• http://windows.github.com/ — GUI-клиент для Windows 
• http://try.github.io/ — набор уроков по GIT с визуализацией 
• http://git-scm.com/book/ru — электронная книга Pro GIT 
44
Чистяков Денис 
Фронтенд разработчик 
dench@yandex-team.ru 
@denchistyakov 
Спасибо!

More Related Content

What's hot

Доклад не про React
Доклад не про ReactДоклад не про React
Доклад не про ReactAnton Winogradov
 
Сборка проектов с помощью ENB
Сборка проектов с помощью ENBСборка проектов с помощью ENB
Сборка проектов с помощью ENBAleksandr Boichenko
 
трансляция вебинара через Google hangouts (you tube)
трансляция вебинара через Google hangouts (you tube)трансляция вебинара через Google hangouts (you tube)
трансляция вебинара через Google hangouts (you tube)Olga Pirozhenko
 
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...Ontico
 
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo KazymyrovFwdays
 
Reliable DOM testing with browser-monkey
Reliable DOM testing with browser-monkeyReliable DOM testing with browser-monkey
Reliable DOM testing with browser-monkeyMoscowJS
 
Aрхитектура дизайн-систем
Aрхитектура дизайн-системAрхитектура дизайн-систем
Aрхитектура дизайн-системAnton Winogradov
 
WebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double funWebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double funAlexandr Khotemskoy
 
Дизайн. Глазами и руками разработчика
Дизайн. Глазами и руками разработчикаДизайн. Глазами и руками разработчика
Дизайн. Глазами и руками разработчикаAnton Winogradov
 
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest
 
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...Ontico
 
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.jsTrainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.jsDevOWL Meetup
 
Vagrant и chef. от dev до deploy
Vagrant и chef. от dev до deployVagrant и chef. от dev до deploy
Vagrant и chef. от dev до deployzykin-ilya
 
InterSystems Community and Projects in CIS November 2015
InterSystems Community and Projects in CIS November 2015InterSystems Community and Projects in CIS November 2015
InterSystems Community and Projects in CIS November 2015InterSystems
 
Инженерный дзен. Непрерывные изменения (Александр Титов)
Инженерный дзен. Непрерывные изменения (Александр Титов)Инженерный дзен. Непрерывные изменения (Александр Титов)
Инженерный дзен. Непрерывные изменения (Александр Титов)Ontico
 
Odessa Pluralsight Study Group 28.11.2012
Odessa Pluralsight Study Group 28.11.2012Odessa Pluralsight Study Group 28.11.2012
Odessa Pluralsight Study Group 28.11.2012Dmytro Mindra
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеYandex
 
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...QAFest
 

What's hot (20)

Доклад не про React
Доклад не про ReactДоклад не про React
Доклад не про React
 
Сборка проектов с помощью ENB
Сборка проектов с помощью ENBСборка проектов с помощью ENB
Сборка проектов с помощью ENB
 
трансляция вебинара через Google hangouts (you tube)
трансляция вебинара через Google hangouts (you tube)трансляция вебинара через Google hangouts (you tube)
трансляция вебинара через Google hangouts (you tube)
 
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
Как взаимодействовать с графическими дизайнерами: готовим UI Kit / Артем Моло...
 
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
 
Reliable DOM testing with browser-monkey
Reliable DOM testing with browser-monkeyReliable DOM testing with browser-monkey
Reliable DOM testing with browser-monkey
 
Aрхитектура дизайн-систем
Aрхитектура дизайн-системAрхитектура дизайн-систем
Aрхитектура дизайн-систем
 
WebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double funWebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double fun
 
Дизайн. Глазами и руками разработчика
Дизайн. Глазами и руками разработчикаДизайн. Глазами и руками разработчика
Дизайн. Глазами и руками разработчика
 
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные измененияCodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
 
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
Microsoft Edge и платформа веб-приложений в Windows 10 / Константин Кичинский...
 
Скриншоты как сервис
Скриншоты как сервисСкриншоты как сервис
Скриншоты как сервис
 
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.jsTrainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
Trainspotting Transporting: RabbitMQ, Akka.NET, Rx, MVI, Cycle.js
 
Vagrant и chef. от dev до deploy
Vagrant и chef. от dev до deployVagrant и chef. от dev до deploy
Vagrant и chef. от dev до deploy
 
InterSystems Community and Projects in CIS November 2015
InterSystems Community and Projects in CIS November 2015InterSystems Community and Projects in CIS November 2015
InterSystems Community and Projects in CIS November 2015
 
Инженерный дзен. Непрерывные изменения (Александр Титов)
Инженерный дзен. Непрерывные изменения (Александр Титов)Инженерный дзен. Непрерывные изменения (Александр Титов)
Инженерный дзен. Непрерывные изменения (Александр Титов)
 
Odessa Pluralsight Study Group 28.11.2012
Odessa Pluralsight Study Group 28.11.2012Odessa Pluralsight Study Group 28.11.2012
Odessa Pluralsight Study Group 28.11.2012
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в Яндексе
 
Ide
IdeIde
Ide
 
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
 

Viewers also liked

Профилирование Node.js
Профилирование Node.jsПрофилирование Node.js
Профилирование Node.jsDenis Chistyakov
 
Сравнение AMQP и ZeroMQ
Сравнение AMQP и ZeroMQСравнение AMQP и ZeroMQ
Сравнение AMQP и ZeroMQMirantis
 
Elite crop (golden rice)
Elite crop (golden rice)Elite crop (golden rice)
Elite crop (golden rice)keshav pai
 
Golden Rice – A Humanitarian Biotechnology Project
Golden Rice – A Humanitarian Biotechnology ProjectGolden Rice – A Humanitarian Biotechnology Project
Golden Rice – A Humanitarian Biotechnology Projectsol777
 

Viewers also liked (9)

Профилирование Node.js
Профилирование Node.jsПрофилирование Node.js
Профилирование Node.js
 
Сравнение AMQP и ZeroMQ
Сравнение AMQP и ZeroMQСравнение AMQP и ZeroMQ
Сравнение AMQP и ZeroMQ
 
Golden rice
Golden riceGolden rice
Golden rice
 
Elite crop (golden rice)
Elite crop (golden rice)Elite crop (golden rice)
Elite crop (golden rice)
 
Golden rice
Golden riceGolden rice
Golden rice
 
Golden rice
Golden riceGolden rice
Golden rice
 
Golden Rice – A Humanitarian Biotechnology Project
Golden Rice – A Humanitarian Biotechnology ProjectGolden Rice – A Humanitarian Biotechnology Project
Golden Rice – A Humanitarian Biotechnology Project
 
Golden rice
Golden riceGolden rice
Golden rice
 
Golden rice ppt
Golden rice pptGolden rice ppt
Golden rice ppt
 

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

Денис Чистяков: Системы контроля версий
Денис Чистяков: Системы контроля версийДенис Чистяков: Системы контроля версий
Денис Чистяков: Системы контроля версийYandex
 
Сергей Сергеев - Системы контроля версий
Сергей Сергеев - Системы контроля версийСергей Сергеев - Системы контроля версий
Сергей Сергеев - Системы контроля версийYandex
 
Спецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версийСпецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версий7bits
 
Git - Вадим Валуев
Git - Вадим ВалуевGit - Вадим Валуев
Git - Вадим ВалуевDrupalCamp MSK
 
Как Vagrant и Chef ускорили разработку в несколько раз / Тимур Батыршин (Cina...
Как Vagrant и Chef ускорили разработку в несколько раз / Тимур Батыршин (Cina...Как Vagrant и Chef ускорили разработку в несколько раз / Тимур Батыршин (Cina...
Как Vagrant и Chef ускорили разработку в несколько раз / Тимур Батыршин (Cina...Ontico
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разRootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разTimur Batyrshin
 
Scino: DVCS на примере Git
Scino: DVCS на примере GitScino: DVCS на примере Git
Scino: DVCS на примере GitSCINO
 
Git для начинающих
Git для начинающихGit для начинающих
Git для начинающихVadim Drobinin
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
 
Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.DrupalForumZP2012
 
Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...
Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...
Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...Badoo Development
 
что такое Git и как с ним бороться
что такое Git и как с ним боротьсячто такое Git и как с ним бороться
что такое Git и как с ним боротьсяВладимир Кожаев
 
непрерывная интеграция шаг к непрерывному деплою родионов игорь
непрерывная интеграция   шаг к непрерывному деплою родионов игорьнепрерывная интеграция   шаг к непрерывному деплою родионов игорь
непрерывная интеграция шаг к непрерывному деплою родионов игорьdrupalconf
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияYandex
 
Jiramania презентации @augspb
Jiramania презентации   @augspbJiramania презентации   @augspb
Jiramania презентации @augspbGonchik Tsymzhitov
 

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

Денис Чистяков: Системы контроля версий
Денис Чистяков: Системы контроля версийДенис Чистяков: Системы контроля версий
Денис Чистяков: Системы контроля версий
 
Сергей Сергеев - Системы контроля версий
Сергей Сергеев - Системы контроля версийСергей Сергеев - Системы контроля версий
Сергей Сергеев - Системы контроля версий
 
Спецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версийСпецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версий
 
Git - Вадим Валуев
Git - Вадим ВалуевGit - Вадим Валуев
Git - Вадим Валуев
 
Как Vagrant и Chef ускорили разработку в несколько раз / Тимур Батыршин (Cina...
Как Vagrant и Chef ускорили разработку в несколько раз / Тимур Батыршин (Cina...Как Vagrant и Chef ускорили разработку в несколько раз / Тимур Батыршин (Cina...
Как Vagrant и Chef ускорили разработку в несколько раз / Тимур Батыршин (Cina...
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разRootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
 
Scino: DVCS на примере Git
Scino: DVCS на примере GitScino: DVCS на примере Git
Scino: DVCS на примере Git
 
Git для начинающих
Git для начинающихGit для начинающих
Git для начинающих
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.
 
Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...
Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...
Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...
 
что такое Git и как с ним бороться
что такое Git и как с ним боротьсячто такое Git и как с ним бороться
что такое Git и как с ним бороться
 
Git for you
Git for youGit for you
Git for you
 
Git intro
Git introGit intro
Git intro
 
непрерывная интеграция шаг к непрерывному деплою родионов игорь
непрерывная интеграция   шаг к непрерывному деплою родионов игорьнепрерывная интеграция   шаг к непрерывному деплою родионов игорь
непрерывная интеграция шаг к непрерывному деплою родионов игорь
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 
GitFlow_MOEX
GitFlow_MOEXGitFlow_MOEX
GitFlow_MOEX
 
Jiramania презентации @augspb
Jiramania презентации   @augspbJiramania презентации   @augspb
Jiramania презентации @augspb
 

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