45
Руководитель группы разработки интерфейсов Системы контроля версий Чистяков Денис Школа Разработки Интерфейсов, Екатеринбург , 19 сентября 2013

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

Embed Size (px)

Citation preview

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

Руководитель группы разработки интерфейсов

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

Чистяков Денис

Школа Разработки Интерфейсов,Екатеринбург, 19 сентября 2013

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

Мир без VCS

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

Резервные копии

3

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

Резервные копии

• Плюсы–Простой старт–Не требует дополнительных навыков и

программ

• Минусы–Проект разрастается, и папочек становится

слишком много–Сложно находить различия между «версиями»–Непригодно для совместной разработки

4

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

Для чего нам нужны VCS

• Архивация и восстановление• Синхронизация работы команды• Хранение истории разработки• Отмена изменений• Экспериментальные реализации

5

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

Базовые термины

• репозиторий, сервер, клиент• рабочая копия, ревизия, коммит, описание

коммита• ветки, слияния, конфликты

6

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

Централизованные

SVN, CVS, Perforce

Децентрализованные

GIT, Mercurial, Bazaar

VCS бывают

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

Централизованные

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

Децентрализованные

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

Приготовим обед в GIT`е

10

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

git add milkgit commit -m 'Добавлено молоко'git add eggsgit commit -m 'Добавлены яйца'git add juicegit commit -m 'Добавлен сок'git rm juicegit add soupgit commit -m 'Добавлен суп'git push origin master

Добавление, удаление, коммит и пуш

11

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

Ветвление

12

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

git checkout -b 'rice'git add ricegit commit -m 'Добавлен рис'git push origin rice

Ветвление

13

Ветка «Рис»:

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

Мастер:

git checkout mastergit add breadgit commit -m 'Добавлен хлеб'git push origin master

14

Ветвление

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

Слияние

15

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

Мастер:

git checkout mastergit pullgit merge ricegit push origin master

16

Слияние

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

Конфликты

17

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

Мастер:

git checkout mastergit pullgit merge ricegit checkout eggs --ours / --theirsgit add eggsgit commitgit push origin master

18

Конфликты

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

Базовые действия

• clone• checkout• add / rm• commit• branch• merge• diff• pull• push

19

Page 20: Системы контроля версий
Page 21: Системы контроля версий
Page 22: Системы контроля версий
Page 23: Системы контроля версий
Page 24: Системы контроля версий
Page 25: Системы контроля версий
Page 26: Системы контроля версий
Page 27: Системы контроля версий
Page 28: Системы контроля версий
Page 29: Системы контроля версий
Page 30: Системы контроля версий
Page 31: Системы контроля версий
Page 32: Системы контроля версий
Page 33: Системы контроля версий
Page 34: Системы контроля версий
Page 35: Системы контроля версий
Page 36: Системы контроля версий
Page 37: Системы контроля версий
Page 38: Системы контроля версий
Page 39: Системы контроля версий
Page 40: Системы контроля версий
Page 41: Системы контроля версий
Page 42: Системы контроля версий

GitHub Flow

Fork

Fork

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

Fork`и и PullRequest`ы — это не магия

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

Полезные ссылки

• 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

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

Фронтенд разработчик

[email protected]@denchistyakov

Спасибо!

Чистяков Денис