Upload
denis-chistyakov
View
83
Download
1
Embed Size (px)
Citation preview
Руководитель группы разработки интерфейсов
Системы контроля версий
Чистяков Денис
Школа Разработки Интерфейсов,Екатеринбург, 19 сентября 2013
Мир без VCS
Резервные копии
3
Резервные копии
• Плюсы–Простой старт–Не требует дополнительных навыков и
программ
• Минусы–Проект разрастается, и папочек становится
слишком много–Сложно находить различия между «версиями»–Непригодно для совместной разработки
4
Для чего нам нужны VCS
• Архивация и восстановление• Синхронизация работы команды• Хранение истории разработки• Отмена изменений• Экспериментальные реализации
5
Базовые термины
• репозиторий, сервер, клиент• рабочая копия, ревизия, коммит, описание
коммита• ветки, слияния, конфликты
6
Централизованные
SVN, CVS, Perforce
Децентрализованные
GIT, Mercurial, Bazaar
VCS бывают
Централизованные
Децентрализованные
Приготовим обед в GIT`е
10
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
Ветвление
12
git checkout -b 'rice'git add ricegit commit -m 'Добавлен рис'git push origin rice
Ветвление
13
Ветка «Рис»:
Мастер:
git checkout mastergit add breadgit commit -m 'Добавлен хлеб'git push origin master
14
Ветвление
Слияние
15
Мастер:
git checkout mastergit pullgit merge ricegit push origin master
16
Слияние
Конфликты
17
Мастер:
git checkout mastergit pullgit merge ricegit checkout eggs --ours / --theirsgit add eggsgit commitgit 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