Работа с SVN через TortoiseSVN. 1. Выгрузка , фиксация, журнал
SVN - популярная система контроля версий. Система контроля версий применяется когда несколько человек совместно редактируют файлы. При правильной работе с SVN изменения разных людей не затирают друг друга и есть возможность посмотреть кто, когда и какие изменения вносил.
TortoiseSVNopen in new window - GUI-клиент для SVN. Ниже показаны примеры работы с TortoiseSVN и описание часто возникающий проблем. Для полного понимая работы советую прочитать документациюopen in new window.
Будем считать что TortoiseSVN уставлена и русифицирована. Получен адрес репозитория svn://89.223.27.224/project
в котором добавлены два пользователя Petya и Vasya.
Извлечение репозитория
В SVN всегда есть один центральный репозиторий в котором хранятся все изменения. Пользователи для работы выгружают к себе рабочую копию.
Петя создает новый каталог project
и выгружает рабочую копию.
В диалоге извлечения он указывает только адрес репозитория
Зеленая метка на значке папки показывает что папка является рабочей копией SVN и изменений в ней нет.
В каталоге project
появилась скрытая папка .svn
. SVN хранит в ней информацию связанную с рабочей копией.
Фиксация в репозиторий
Петя создает новый файл main.py
в рабочей копии и нажимает Фиксировать
print('hello!')
В диалоге фиксации Петя заполняет комментарий к фиксации, отмечает файл main.py
и нажимает ОК.
Файл зафиксирован, у него появилась отметка такая же как у каталога.
Пете понадобилось изменить файл main.py
- вынести весь код в функцию.
def hello(): print('hello!')
hello()
После изменений на файле новая красная отметка - файл содержит изменения.
Петя снова фиксирует
Просмотр истории
Теперь посмотрим историю изменений
В журнале видно что было две фиксации, их сделал Петя, видно комментарий к ним.
Каждая фиксация имеет уникальный номер для всего репозитория. Установленная в рабочей копии ревизия выделена жирным - сейчас это последняя ревизия номер 2.