[jam 2.0] svc (yanochkin alexei)

29
Системы контроля версий Яночкин Алексей вторник, 22 ноября 2011 г.

Upload: jamteam

Post on 16-Jun-2015

225 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: [JAM 2.0] SVC (Yanochkin Alexei)

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

Яночкин Алексей

вторник, 22 ноября 2011 г.

Page 2: [JAM 2.0] SVC (Yanochkin Alexei)

Общие сведения

вторник, 22 ноября 2011 г.

Page 3: [JAM 2.0] SVC (Yanochkin Alexei)

Что такое и зачем нужно?

вторник, 22 ноября 2011 г.

Page 4: [JAM 2.0] SVC (Yanochkin Alexei)

Системы управления версиями

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

вторник, 22 ноября 2011 г.

Page 5: [JAM 2.0] SVC (Yanochkin Alexei)

Непонятные слова?

вторник, 22 ноября 2011 г.

Page 6: [JAM 2.0] SVC (Yanochkin Alexei)

Branch

Checkin, Commit, submit

Checkout

Merge

Repository

Revision

Conflict

Глоссарий

вторник, 22 ноября 2011 г.

Page 7: [JAM 2.0] SVC (Yanochkin Alexei)

Начало

Checkout

Создается локальная рабочая версия проекта

вторник, 22 ноября 2011 г.

Page 8: [JAM 2.0] SVC (Yanochkin Alexei)

ежедневный цикл

Обновление рабочей копии

Модификация проекта

Фиксация изменений

вторник, 22 ноября 2011 г.

Page 9: [JAM 2.0] SVC (Yanochkin Alexei)

Ветвлениявторник, 22 ноября 2011 г.

Page 10: [JAM 2.0] SVC (Yanochkin Alexei)

СлиянияМодификации файлов, создание каталогов

Для разных файлов слияние происходит автоматически

Для разных строк одного файла слияние происходит автоматически

Изменения в не текстовых файлов всегда конфликтуют

вторник, 22 ноября 2011 г.

Page 11: [JAM 2.0] SVC (Yanochkin Alexei)

Конфликты

Возникают при одновременном изменении одной и той же части проекта

Разрешаются разработчиком

Три варианта: базовый, локальный и серверный

вторник, 22 ноября 2011 г.

Page 12: [JAM 2.0] SVC (Yanochkin Alexei)

БлокировкиРазрешает работу с файлом только одному разработчику

Ранее все VCS работали с помощью блокировок

Отсутствие конфликтов

Работа с файлами, когда нет инструментов для слияния

вторник, 22 ноября 2011 г.

Page 13: [JAM 2.0] SVC (Yanochkin Alexei)

Блокировки: минусы

Мешают продуктивной работе

Частота конфликтов и сложность их решений

Административные проблемы

вторник, 22 ноября 2011 г.

Page 14: [JAM 2.0] SVC (Yanochkin Alexei)

Как это работает?

вторник, 22 ноября 2011 г.

Page 15: [JAM 2.0] SVC (Yanochkin Alexei)

Архитектура

вторник, 22 ноября 2011 г.

Page 16: [JAM 2.0] SVC (Yanochkin Alexei)

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

вторник, 22 ноября 2011 г.

Page 17: [JAM 2.0] SVC (Yanochkin Alexei)

Распределенный репозиторий

вторник, 22 ноября 2011 г.

Page 18: [JAM 2.0] SVC (Yanochkin Alexei)

вторник, 22 ноября 2011 г.

Page 19: [JAM 2.0] SVC (Yanochkin Alexei)

Метод изменений

вторник, 22 ноября 2011 г.

Page 20: [JAM 2.0] SVC (Yanochkin Alexei)

Метод «снимков»

вторник, 22 ноября 2011 г.

Page 21: [JAM 2.0] SVC (Yanochkin Alexei)

С помощью чего работать?

вторник, 22 ноября 2011 г.

Page 22: [JAM 2.0] SVC (Yanochkin Alexei)

0 12,5 25 37,5 50

%

Subversion(Svn)CVSДругая бесплатная центролизованная VCSДругая коммерческая централизованная VCSGitMercurialBazaarДругая бесплатная распеределенная VCSДругая коммерческая распеределеная VCS

вторник, 22 ноября 2011 г.

Page 23: [JAM 2.0] SVC (Yanochkin Alexei)

Subversion

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

Каждый работает с локальной копией проекта

Необходимо подключение к серверу для фиксации изменений

вторник, 22 ноября 2011 г.

Page 24: [JAM 2.0] SVC (Yanochkin Alexei)

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

Каждый работает с локальным репозиторием

Фиксация изменений для рабочей копии и для репозитория в целом

Возможность передавать изменения по почте

вторник, 22 ноября 2011 г.

Page 25: [JAM 2.0] SVC (Yanochkin Alexei)

Subversion vs Git

вторник, 22 ноября 2011 г.

Page 26: [JAM 2.0] SVC (Yanochkin Alexei)

Subversion

Централизованная система

Позволяет разделить проекты с общими модулями

Сквозная нумерация ревизий

Позволяет держать в рабочей копии часть репозитория

вторник, 22 ноября 2011 г.

Page 27: [JAM 2.0] SVC (Yanochkin Alexei)

Git

Распределенная система

Позволяет получать изменения от сторонних разработчиков по E-mail

Для фиксации в локальный репозиторий не нужен доступ к центральному

вторник, 22 ноября 2011 г.

Page 28: [JAM 2.0] SVC (Yanochkin Alexei)

Спасибо за внимание

вторник, 22 ноября 2011 г.

Page 29: [JAM 2.0] SVC (Yanochkin Alexei)

Вопросы?

вторник, 22 ноября 2011 г.