Система контроля версий - это система, позволяющая записать действия выполненные над файлами. Действием может быть создание, удаление или изменение файла.
Такие системы позволяют документировать историю изменений, позволяют нескольким разработчикам работать над одним проектом одновременно, а также позволяют откатить версии приложения, если в проекте что-то сломалось.
Git - это одна из систем контроля версий. Она была создана сообществом разработчиков ядра Linux, включая Линуса Торвальдса - создателя Linux, в поисках замены для BitKeeper.
Система контроля версий - это один из ключевых инструментов разработки, позволяющий наладить непрерывную интеграцию и развертывание ПО (CI/CD) в процессе работы над проектом
Всё это обеспечивается следующими описанными концепциями.
В отличие от большинства других систем, которые хранят информацию в виде списка изменений в файлах, Git хранит данные в виде набора снимков миниатюрной файловой системы. Каждый раз, когда вы сохраняете состояние своего проекта в Git (git commit), система запоминает, как выглядит каждый файл в этот момент, и сохраняет ссылку на этот снимок. Если файлы не были изменены, Git не запоминает эти файлы вновь, а только создаёт ссылку на предыдущую версию идентичного файла, который уже сохранён.
Практически все операции выполняются на локальной версии проекта. Не важно создали вы свой проект или клонировали с GitHub. Команды могут выполняться не локально, когда вы работаете с удаленными репозиториями, серверами Git или Git-хостингами, а также когда вы используете графические интерфейсы или веб-интерфейсы для работы с Git.