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

Проблемы, возникающие при работе с кодом

Контрольные точки

Ветки

Сравнение версий

Слияние изменений

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

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

Если вынести все снапшоты на отдельный сервер, получим каноничную централизованную VCS (CVS, subversion). При этом, при использовании централизованной VCS работа происходит следующим образом:

С централизованными VCS связан ряд проблем, среди которых важно выделить следующие:

Распределённые VCS

В случае DVCS вместо создания рабочей копии реозиторий клонируется локально, после чего работа уже ведётся с ним. Каковы следствия этого решения:

Последние два пункта довольно важны, так как являются проблемами, от качества решения которых напрямую зависит удобство работы с DVCS (помимо наличия развесистых пользовательских интерфейсов).

Другие полезные возможности VCS

Поскольку одна из основных целей создания и использования VCS — работа с архивом исходных кодов, они имеют различный инструментарий для упрощения и автоматизации. В частности:

Git

Git как пример DVCS

% TODO: что вообщу сюда писать? история, почему git

Возможности Git

Best practices

Пара слов о том, каковы должны быть изменения

Порядок работы в случае использования DVCS

Использование DVCS предоставляет большую гибкость в плане организации процедуры внесения изменений в код. Можно выделить две категории свободы:

Управление репозиториями

Задачи:

git-daemon

Встроенные средства git: git-daemon

Gitolite

Развёртывание Gitolite

Ссылки

LecturesCMC/ProgAdm2011/01_Vcs (last edited 2011-05-31 22:16:41 by eSyr)