1) Централизованные/распределённые — в централизованных системах контроля версий вся работа
производится с центральным репозиторием, в распределённых — у каждого разработчика есть локальная копия репозитория.
2) Блокирующие/не блокирующие — блокирующие системы контроля версий позволяют наложить запрет на изменение файла, пока один из разработчиков работает над ним, в неблокирующих один файл может одновременно изменяться несколькими разработчиками.
3) Для текстовых данных/для бинарных данных — для VCS для текстовых данных очень важна поддержка слияния изменений, для VCS с бинарными данными важна возможность блокировки.
Классификация систем контроля версий