Системы контроля версий типа «клиент-сервер» работают следующим образом: 1
- Последняя версия и все сделанные изменения хранятся в репозитории сервера. 1 Это единое место, в котором хранятся все версии файлов одного проекта. 3
- Клиенты, подключаясь к серверу, проверяют отличия локальной версии от последней версии, сохранённой в репозитории, и, если есть отличия, загружают их в свой локальный проект. 1
- При необходимости решают конфликты и вносят требуемые изменения в разрабатываемый продукт. 1
- После этого все изменения загружаются в репозиторий сервера. 1
Например, чтобы внести изменения в исходный код программы, пользователь: 2
- Логинется на сервер. 2
- Копирует последнюю версию всех файлов к себе на компьютер (команда Checkout). 2
- Вносит изменения в нужные файлы. 2
- Запускает программу локально и проверяет, что она компилируется и работает. 2
- Отправляет свои изменения на сервер (команда Commit). 2
Также для работы с последней актуальной версией данных можно выполнить команду Update, которая копирует только те файлы, которые обновились на сервере со времён последней команды Checkout или Update. 2