Как и Зачем делать ветки?

Сегодня я хочу рассказать о замечательной возможности системы контроля версий — создании веток.

Приведу определение ветки из моей статьи:

Ветка (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-клиентом, то сделать ветку тоже не сложно:

  1. Вызываете контекстное меню проводника и запускаете «браузер хранилища» (Repo-browser).Контекстное меню проводника
  2. В репо-браузере выбираете ветку, от которой нужно «отпочковать» новую (чаще всего это будет ветка trunk), и в контекстном меню жмите на «Copy to...».Контекстное меню браузера хранилища
  3. В появившемся окне вводите новое местоположение ветка (чаще всего ветки создаются в каталоге branches).Окно ввода местоположения новой ветки
  4. В следующем окне вводите комментарий. И вуаля — новая ветка готова!

Как вы видите, создать новую ветку очень просто. А их применение во многих случаях решает много проблем координации разработки.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru
Print
1 звезда2 звезды3 звезды4 звезды5 звезд (Еще не оценили)
Loading ... Loading ...

Метки: , ,



3 комментария на “Как и Зачем делать ветки?”

  1. [...] как и остальные заметки по теме от автора блога: “Как и Зачем делать ветки?“, “Как слить изменения между ветками. Часть 1“, [...]

  2. миша пишет:

    это не так просто как тут написано: Вуаля и ничего не получилось:)

    приходиться несколько раз пытаться сделать, на третий или четвертый уже начинаются психи.

  3. Анри пишет:

    ветки — это очень удобно. все систематизируется и станровиться более простым в использовании

Оставить комментарий