Ветка SVN
Опция Branch создает для разработчиков еще одну линию. Эта опция очень полезна, когда кто-то хочет разделить процесс разработки на две разные линии.
Например, в проекте demo есть две команды, и в svn существует trunk-версия.
Из-за внезапных изменений в требованиях заказчика проект нуждается в серьезных доработках. В этот момент команда проекта решает, что Команда 1 продолжит исходную незаконченную работу (определенный модуль), а Команда 2 будет разрабатывать новые требования.
На этом этапе мы можем создать ветку для Команды 2. Ветка на самом деле представляет собой копию trunk-версии (основной линии), но ветка также обладает функциональностью контроля версий и независима от основной линии. Конечно, в конце мы можем использовать функцию (merge), чтобы слить ветку обратно в trunk, тем самым окончательно объединив все в один проект.
В локальной копии мы создаем веткуmy_branch.
root@example:~/svn/example01# ls branches tags trunk root@example:~/svn/example01# svn copy trunk/ branches/my_branch A branches/my_branch root@example:~/svn/example01#
Просмотреть статус:
root@example:~/svn/example01# svn status A + branches/my_branch A + branches/my_branch/HelloWorld.html A + branches/my_branch/readme
Зафиксировать недавно добавленную ветку в репозитории.
root@example:~/svn/example01# svn commit -m "add my_branch" Adding branches/my_branch Replacing branches/my_branch/HelloWorld.html Adding branches/my_branch/readme Committed revision 9.
Далее мы разрабатываем в ветке my_branch, переключаемся на путь ветки и создаем файл index.html.
root@example:~/svn/example01# cd branches/my_branch/ root@example:~/svn/example01/branches/my_branch# ls HelloWorld.html index.html readme
Добавить index.html в систему контроля версий и зафиксировать его в репозитории.
root@example:~/svn/example01/branches/my_branch# svn status ? index.html root@example:~/svn/example01/branches/my_branch# svn add index.html A index.html root@example:~/svn/example01/branches/my_branch# svn commit -m "add index.html" Adding index.html Transmitting file data . Committed revision 10.Переключитесь на trunk, выполните svn update, а затем слейте ветку my_branch в trunk.
root@example:~/svn/example01/trunk# svn merge ../branches/my_branch/ --- Merging r10 into '.': A index.html --- Recording mergeinfo for merge of r10 into '.': G .
На этом этапе просмотрите каталог, и вы увидите, что файл index.html, созданный в ветке my_branch, был добавлен в trunk.
root@example:~/svn/example01/trunk# ll total 16 drwxr-xr-x 2 root root 4096 Nov 7 03:52 ./ drwxr-xr-x 6 root root 4096 Jul 21 19:19 ../ -rw-r--r-- 1 root root 36 Nov 7 02:23 HelloWorld.html -rw-r--r-- 1 root root 0 Nov 7 03:52 index.html -rw-r--r-- 1 root root 22 Nov 7 03:06 readme
Зафиксируйте объединённый trunk в репозитории.
root@example:~/svn/example01/trunk# svn commit -m "add index.html" Adding index.html Transmitting file data . Committed revision 11.Другие расширения