Система управления версиями файлов в современных операционных системах работает следующим образом: 2
- Извлечение рабочей копии проекта. 2 Разработчик задаёт версию, которая должна быть скопирована, по умолчанию обычно копируется последняя (или выбранная администратором в качестве основной) версия. 2
- Дублирование рабочей копии. 12 Помимо основного каталога с проектом на локальный диск дополнительно записывается ещё одна его копия. 1 Работая с проектом, разработчик изменяет только файлы основной рабочей копии. 1 Вторая локальная копия хранится в качестве эталона, позволяя в любой момент без обращения к серверу определить, какие изменения внесены в конкретный файл или проект в целом. 1
- Обновление рабочей копии. 2 По мере внесения изменений в основную версию проекта рабочая копия на компьютере разработчика стареет: расхождение её с основной версией проекта увеличивается. 2 Поэтому разработчик выполняет операцию обновления рабочей копии насколько возможно часто. 2
Некоторые другие возможности систем управления версиями:
- Позволяют создавать разные варианты одного документа (ветки) с общей историей изменений до точки ветвления и с разными — после неё. 2
- Дают возможность узнать, кто и когда добавил или изменил конкретный набор строк в файле. 2
- Ведут журнал изменений, в который пользователи могут записывать пояснения о том, что и почему они изменили в данной версии. 2
- Контролируют права доступа пользователей, разрешая или запрещая чтение или изменение данных, в зависимости от того, кто запрашивает это действие. 2