linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
Intro
Lessons
Footer
linuxlab-УчебникиЦеныО платформеКонфиденциальность и куки
Copyright © 2026 LinuxLab. Все права защищены.
linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
  • Введение
  • Главы
  • How it works
  • Уроки
  • База знаний
  • Собеседование
home/git/kb/Основы Git/vcs

kb/basics ── Основы Git ── beginner

Система контроля версий

Инструмент, который хранит историю изменений файлов, позволяет возвращаться к прошлым версиям и совместно работать над проектом нескольким людям. Три поколения: локальные, централизованные, распределённые.

view as markdownaka: version-control, version-control-system

Система контроля версий (VCS) - это программа, которая отслеживает изменения файлов и хранит историю этих изменений. Любая программа, которая делает это автоматически, попадает под определение VCS - от простых утилит вроде RCS до распределённых систем вроде Git.

Зачем нужна

Без VCS приходится хранить версии файлов вручную:

report.docx
report_v2_FINAL.docx
report_v3_СРОЧНО.docx

Это работает на одном файле и одном человеке. Перестаёт работать, когда проект - это сотни файлов и несколько разработчиков.

VCS решает три проблемы:

  1. Имена не теряют смысл - версии помечаются через дату, автора, сообщение, а не через файловые суффиксы.
  2. Совместная работа - несколько человек правят одни и те же файлы, система помогает с конфликтами.
  3. Экономия места - хранится не полная копия каждой версии, а разница (или дедуплицированный снимок, см. snapshot-vs-delta).

Три поколения

Локальные

Хранят историю в служебной директории рядом с файлами. RCS (1982), SCCS (1972). Преимущество - простота. Недостаток - вся история на одной машине, диск умер → история пропала.

Централизованные

История на центральном сервере. У разработчиков - только текущий снимок. CVS (1986), Subversion (2000), Perforce. Преимущество - совместная работа. Недостаток - зависимость от сервера и сети.

Распределённые

Полная копия истории у каждого разработчика. См. distributed-vcs. Git (2005), Mercurial (2005), Bazaar (2005). Преимущество - работа без сети, дешёвые ветки, надёжность. Недостаток - чуть сложнее ментальная модель.

Какую выбрать

В 2026 году выбор для большинства новых проектов сводится к Git - вокруг него крупнейшая экосистема хостингов (GitHub, GitLab, Bitbucket) и инструментов. Остальные системы живут в нишах:

  • Git - де-факто дефолт в open-source и большинстве компаний.
    • Mercurial - исторически использовали Mozilla и Facebook, сейчас встречается реже. Технически - не хуже Git.
    • Perforce - крупные игровые студии, киноиндустрия, где много больших бинарных файлов.
    • SVN - старые корпоративные проекты, которые не мигрируют «потому что работает».

Эта книга - про Git. Эквиваленты понятий из других VCS - в приложении B.

§ см. также

  • distributed-vcsРаспределённая система контроля версийVCS, где у каждого разработчика - полная копия истории, а не только снимок. Git, Mercurial, Bazaar. Главное отличие от централизованных (SVN, CVS) - отсутствие единой точки отказа и работа без сети.
  • snapshot-vs-deltaСнимки против дельтГлавное идейное отличие Git от SVN/CVS/Perforce. Старые VCS хранят каждую версию как разницу с предыдущей. Git хранит каждую версию как полный снимок проекта, с дедупликацией одинаковых файлов через SHA.
  • working-treeWorking treeФайлы и директории твоего проекта на диске - те, которые ты открываешь в редакторе. Одна из трёх зон Git наряду с индексом ([[add]]) и репозиторием ([[commit]]).
Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки