1. Введение в системы контроля версий, установка Git и базовая конфигурация
Введение в системы контроля версий, установка Git и базовая конфигурация
Добро пожаловать в курс «Git для начинающих». Если вы когда-либо создавали файлы с названиями диплом_финал.docx, диплом_финал_точно_последний.docx и диплом_исправленный_v2.docx, то вы уже пытались создать свою систему контроля версий. Сегодня мы узнаем, как профессионалы решают эту проблему с помощью Git.
Что такое система контроля версий (VCS)?
Система контроля версий (Version Control System, VCS) — это программное обеспечение, которое помогает отслеживать изменения в файлах с течением времени. Она позволяет вам вернуться к любой предыдущей версии проекта, сравнивать изменения и работать над одним проектом одновременно с другими людьми, не мешая друг другу.
Представьте, что VCS — это машина времени для вашего проекта. В любой момент вы можете нажать кнопку «Сохранить» (сделать снимок состояния), и если в будущем что-то пойдет не так, вы сможете вернуться в эту точку.
Зачем нам это нужно?
Виды систем контроля версий
Существует два основных типа систем, и важно понимать разницу между ними, чтобы осознать преимущества Git.
Централизованные системы (CVCS)
Примеры: Subversion (SVN), Perforce.
В таких системах есть один главный сервер, где хранится вся история версий. Разработчики скачивают файлы, работают с ними и отправляют обратно на сервер.
* Плюс: Легко администрировать. * Минус: Если сервер упадет, никто не сможет сохранить свои изменения или просмотреть историю. Если диск сервера повредится без резервной копии, история исчезнет навсегда.
Распределенные системы (DVCS)
Примеры: Git, Mercurial.
В распределенных системах клиенты не просто скачивают последнюю версию файлов. Они полностью копируют (клонируют) весь репозиторий, включая полную историю всех изменений.
Это значит, что каждый компьютер разработчика содержит полную резервную копию проекта. Если сервер умрет, любой клиентский репозиторий можно скопировать на сервер, чтобы восстановить его.
!Сравнение архитектуры централизованных и распределенных систем контроля версий.
Что такое Git?
Git — это распределенная система контроля версий. Она была создана в 2005 году Линусом Торвальдсом (создателем Linux) для разработки ядра Linux.
Главное отличие Git от других систем заключается в том, как он воспринимает данные. Большинство систем хранят информацию как список изменений для каждого файла. Git же считает данные набором снимков (snapshots) небольшой файловой системы. Каждый раз, когда вы сохраняете состояние проекта (делаете коммит), Git как бы фотографирует все ваши файлы в этот момент.
Установка Git
Перед тем как начать, нам нужно установить Git на ваш компьютер. Процесс немного отличается для разных операционных систем.
Установка на Windows
.exe файл.Установка на macOS
Самый простой способ — установить инструменты командной строки Xcode. Откройте терминал и введите:
Если Git не установлен, система сама предложит его установить.
Альтернативный вариант (если вы используете Homebrew):
Установка на Linux
Если вы используете дистрибутив на базе Debian (например, Ubuntu), откройте терминал и введите:
Для дистрибутивов на базе Red Hat (например, Fedora):
Проверка установки
После установки откройте терминал (на Windows — Git Bash, на macOS/Linux — обычный Terminal) и введите команду:
Если вы видите что-то вроде git version 2.40.0, поздравляю — Git установлен!
Базовая конфигурация
Первое, что нужно сделать после установки Git — представиться. Это критически важно, потому что каждый раз, когда вы будете сохранять изменения (делать коммит), Git будет ставить на них «печать» с вашим именем и email. Это позволяет понять, кто именно внес изменения в проект.
Настройка имени и почты
Введите следующие команды в терминале, подставив свои данные:
Разберем эту команду:
* git config — команда для настройки Git.
* --global — этот флаг означает, что настройки будут применены для всех ваших проектов на этом компьютере. Если вы захотите использовать другое имя для конкретного проекта, вы сможете сделать это позже без флага --global внутри папки проекта.
Настройка окончаний строк (Line Endings)
Это технический, но важный момент. Windows и macOS/Linux используют разные символы для обозначения конца строки в текстовых файлах. Если вы работаете в команде с людьми на разных операционных системах, это может вызвать проблемы.
Для пользователей Windows рекомендуется выполнить:
Для пользователей macOS и Linux:
Проверка настроек
Чтобы убедиться, что все настроено правильно, вы можете вывести список всех настроек командой:
Вы увидите список переменных. Найдите там user.name и user.email, чтобы проверить, что они записаны верно.
Основные термины, которые мы будем использовать
В следующих уроках мы будем часто использовать эти слова, поэтому давайте познакомимся с ними сейчас:
* Репозиторий (Repository): Место, где хранятся ваши файлы и вся история их изменений. Обычно это папка вашего проекта с подпапкой .git.
* Коммит (Commit): Фиксация изменений. Это как точка сохранения в игре. Коммит сохраняет состояние всех файлов в репозитории на текущий момент.
* Ветка (Branch): Независимая линия разработки. Вы можете создать ветку, чтобы поэкспериментировать с новой функцией, не ломая основной код.
Резюме
Сегодня мы заложили фундамент для вашей работы:
В следующем уроке мы создадим наш первый репозиторий и научимся сохранять изменения.