Как и Зачем делать ветки?
Сегодня я хочу рассказать о замечательной возможности системы контроля версий - создании веток.
Приведу определение ветки из моей статьи:
Ветка (Branch) - это направление разработки, существующее независимо от других направлений, но имеющее общую с ними историю. Фактически представляет собой копию проекта (или его части) в определенный момент времени и совокупности фиксаций изменений. Чаще всего ветки используются для хранения различных релизов проекта. Кроме этого ветки могут применяться для изоляции группы правок, которые могут нарушить работоспособность всего кода.
Из определения вытекает ответ на вторую часть вопроса заголовка: ветки используются для создания независимых вариантов проекта с ведением собственной истории. Чтобы было понятнее, я опишу рекомендуемую разработчиками системы практику применения этой функции.
Основной процесс разработки обычно ведется в специальной ветке - trunk. Там разрабатывается новый функционал или переписывается код для уже реализованных функций проекта.
Ветки рекомендуется создавать при релизах проекта и при разработке, опасной для остального кода. Например, вам нужно полностью переписать какой-нибудь модуль в работающей системе. Чтобы система оставалась работоспособной и в процессе переделки модуля (и при этом вы имели возможность пользоваться преимуществами контроля версий), вам нужно текущее состояние системы (т.е. ветку trunk) скопировать в новую ветку и уже в ней продолжать разработку. После завершения переписывания модуля, когда убедились, что система работает, нужно перенести все наработки в основную ветку. Как это сделать, я расскажу в следующем посте.
А теперь я покажу как создаются ветки. Команда для этого очень простая:
svn copy http://svn.example.com/repos/proj/trunk \
http://svn.example.com/repos/proj/branches/my-own-branch \
-m "Creating a private branch of /proj/trunk."
Т.е. создание ветки - это фактически копирование определенного каталога в новое место. Все очень просто.
Если пользоваться win-клиентом, то сделать ветку тоже не сложно:
- Вызываете контекстное меню проводника и запускаете “браузер хранилища” (Repo-browser).

- В репо-браузере выбираете ветку, от которой нужно “отпочковать” новую (чаще всего это будет ветка trunk), и в контекстном меню жмите на “Copy to…”.

- В появившемся окне вводите новое местоположение ветка (чаще всего ветки создаются в каталоге branches).

- В следующем окне вводите комментарий. И вуаля - новая ветка готова!
Как вы видите, создать новую ветку очень просто. А их применение во многих случаях решает много проблем координации разработки.
Популярность: 13%
Метки: SVN, tutorial, контроль версий


января 28, 2008 at 14:17
[...] как и остальные заметки по теме от автора блога: “Как и Зачем делать ветки?“, “Как слить изменения между ветками. Часть 1“, [...]
мая 27, 2008 at 15:33
отличная статья. достаточно просто было разобраться в этом. теперь попробуем все это в действии.
июня 19, 2008 at 19:33
это не так просто как тут написано: Вуаля и ничего не получилось:)
приходиться несколько раз пытаться сделать, на третий или четвертый уже начинаются психи.
июля 9, 2008 at 11:30
ветки - это очень удобно. все систематизируется и станровиться более простым в использовании