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