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

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

  • Upload
    yandex

  • View
    1.275

  • Download
    3

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: Денис Чистяков: Системы контроля версий

GitHub Flow

Fork

Fork

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

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

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

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

• 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

22

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

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

[email protected]@denchistyakov

Спасибо!

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