- •Система контроля версий Tortoise svn
- •2.1 Теоретическое введение 8
- •3.1 Теоретическое введение 33
- •Лабораторная работа №1. Установка и настройка распределительной системы контроля версий Tortoise svn. Основные принципы работы.
- •1.1 Теоретическое введение
- •1.2 Установка и настройка серверной части
- •1.3 Установка и настройка клиентской части
- •Лабораторная работа №2. Работа в Tortoise svn с простыми проектами.
- •2.1 Теоретическое введение
- •2.2 Основные операции при работе с Tortoise svn
- •2.3 Браузер репозитория
- •2.4 Создание проекта
- •2.5 Создание рабочей копии
- •2.6 Добавление файлов в рабочую копию
- •2.7 Синхронизация рабочей копии с репозиторием (Теория)
- •Во 2 лабораторной работе Вы работаете только с папкой trunk (ствол), никаких ответвлений (Branches) здесь не используется!!
- •Когда создаете рабочую копию, рабочие копии всех членов бригады должны быть привязаны к одной и той же папке в хранилище.
- •2.8 Изменение и откат файлов
- •2.9 Переименование файлов
- •2.10 Перемещение файлов
- •2.11 Разрешение конфликтов
- •2.12 Использование конкретного номера ревизии файлов и папок.
- •Лабораторная работа №3. Работа в Tortoise svn с масштабными программными проектами.
- •3.1 Теоретическое введение
- •Ic (главное меню приложения)
- •3.2 Работа с ветвлениями
- •3.3 Создание веток и меток
- •3. 4 Важное о ветках
- •3.5 Слияние веток
Лабораторная работа №2. Работа в Tortoise svn с простыми проектами.
2.1 Теоретическое введение
Ттттт….
Термины
Простой проект – проект, который состоит из разрозненных объектов (файлов и документов, изображений).
Trunk («Ствол») — основное направление разработки
Branch («Ветка») - направление разработки, которое существует независимо от другого направления, но имеет с ним общую историю. Ветка всегда берет начало как копия чего-либо и движется от этой точки, создавая свою собственную историю
Tag («Метка») — выделенная явно, через создание отдельной папки версия файлов проекта в определенный момент времени.
Revision — номер ревизии репозитория, в пределах репозитория номер ревизии уникальная величина
Checkout – команда, которая выполняет начальное получение проекта из репозитория в WC.
Commit – команда, которая выполняет фиксацию изменений файлов проекта в WC в Репозиторий.
Update – команда, которая выполняет обновление файлов проекта в WC из репозитория
Revert – команда, которая выполняет отмену любых изменений в файлах проекта в WC на основе номера ревизии репозитория.
Merge – команда, которая выполняет слияние файлов из разных веток проекта и помещает результат слияния в WC.
Conflict – ситуация, возникающая при фиксации изменений, когда одни и те же файлы изменяли несколько разработчиков.
Resolve – набор правил по разрешению возникающих конфликтов.
Import – команда, для быстрого копирования дерева файлов в Репозиторий.
Export – команда, для экспорта проекта, отличается от checkout тем, что не создает в папках проекта служебную информацию.
Switch – команда, которая выполняет переключение WC на другую ветку разработки.
Create, Add, Delete, Copy, Move, Rename – команды для управления файлами и папками в репозитории или WC.
Внимание!
Не забудьте, что из результатов предыдущей лабораторной работы, у вас должно быть сделано следующее:
1.Установлен сервер на одном компьютере и клиентское приложение у каждого студента на компьютере.
2.Создан репозиторий для каждой бригады на серверном компьютере и назван номером бригады.
Помните, что Вы работаете только на своем клиентском компьютере в рабочей папке, а на серверном компьютере Вы только храните конечные данные!
2.2 Основные операции при работе с Tortoise svn
В репозитории SVN хранятся все структуры папок и файлов. Репозиторий хранит все изменения зафиксированные в нем, с момента создания.
Для отслеживания изменений во времени, каждой операции, которая изменяет содержимое репозитория, ставиться в соответствие уникальный «номер ревизии», запоминается время фиксации и ее автор. Все ревизии папок и файлов в репозитории доступны любому пользователю.
SVN запоминает все изменения, даже самые небольшие. Для облегчения поиска нужного состояния проекта рекомендуется заполнять строку комментария к любым изменениям в репозитории. Пустая строка комментария к фиксации изменений является признаком дурного тона. Данные виды фиксации очень сложно отслеживать и искать.
В случае удаления папок или файлов из репозитория они будут удалены только в текущей ревизии. И в случае необходимости папки и файлы могут быть легко восстановлены для использования.
Основной областью работы пользователя является рабочая копия. Любые изменения папок, файлов и их содержимого в рабочей копии не доступны для других пользователей, до тех пор, пока эти изменения не будут зафиксированы в репозитории.
Добавлять, перемещать и удалять папки и файлы проекта лучше в рабочей копии. Использовать для этих целей репозиторий не рекомендуется.
Использовать возможности репозитория для целей управления папками и файлами нужно только в случае, если нужное действие сложно сделать в рабочей копии. К таким действиям относится копирование и перемещение папок и файлов.
При работе с репозиторием помните, что у папок и файлов есть история изменений. Если вы удалите файл и создадите новый файл с таким же именем, это будут два разных файла с непересекающейся историей.