Введение в Git: установка, базовая настройка и инициализация проекта
Введение в Git: установка, базовая настройка и инициализация проекта
Добро пожаловать в курс «Основы Git и GitHub: от консоли до удаленного репозитория». Если вы когда-либо сохраняли файлы с именами diploma_final.doc, diploma_final_v2.doc, diploma_final_FINAL_REAL.doc, то вы уже интуитивно понимаете, зачем нужна система контроля версий. В этой статье мы разберемся, как превратить хаос из копий файлов в стройную историю изменений, которую невозможно потерять.
Что такое Git и зачем он нужен?
Git — это распределенная система контроля версий (Version Control System, VCS). Звучит сложно, но давайте представим это проще. Представьте, что вы пишете книгу или код программы. Git — это ваша «машина времени». Он позволяет:
- Сохранять «снимки» вашего проекта в определенные моменты времени.
- Возвращаться к любому из этих снимков, если что-то пошло не так.
- Работать параллельно над разными функциями, не ломая основной код.
- Видеть историю: кто, когда и зачем внес конкретное изменение.
Git был создан Линусом Торвальдсом (создателем Linux) в 2005 году. Сегодня это стандарт де-факто в мире разработки программного обеспечения.
Git против GitHub: в чем разница?
Новички часто путают эти понятия. Давайте раз и навсегда проведем черту.
- Git — это инструмент, программа, которая устанавливается на ваш компьютер. Это «движок», который следит за файлами. Он работает локально, даже без интернета.
- GitHub (а также GitLab, Bitbucket) — это веб-сервис, «хостинг» для ваших проектов Git. Это как социальная сеть для кода, где вы храните копии своих репозиториев, чтобы работать в команде или показывать код другим.
Git — это то, что вы используете на своем ноутбуке. GitHub — это то, куда вы отправляете результаты своей работы, чтобы поделиться ими с миром.
В этом курсе мы начнем именно с Git (консольной утилиты), так как без понимания основ работы локально невозможно эффективно использовать GitHub.
Установка Git
Прежде чем начать, нам нужно установить Git на ваш компьютер. Процесс немного отличается для разных операционных систем.
Для пользователей Windows
- Перейдите на официальный сайт git-scm.com.
- Скачайте установочный файл (обычно сайт сам определяет разрядность вашей системы).
- Запустите установщик. Важно: в процессе установки вам будет предложено множество опций. Для новичков рекомендуется оставлять все галочки по умолчанию, нажимая «Next», за одним исключением:
- На этапе выбора текстового редактора (Choosing the default editor used by Git), если вы не умеете пользоваться Vim, выберите Nano или Visual Studio Code, если он у вас установлен. Это сбережет вам нервы в будущем.
- После установки у вас появится программа Git Bash. Это эмулятор терминала, который позволяет использовать команды Linux на Windows. Мы будем работать именно в нем.
Для пользователей macOS
Чаще всего Git уже установлен в macOS (как часть инструментов разработчика Xcode). Чтобы проверить это, откройте Терминал (Command + Space, введите «Terminal») и напишите:
git --version
Если система предложит установить инструменты разработчика — соглашайтесь. Альтернативный и более гибкий способ — использовать пакетный менеджер Homebrew. Если у вас есть Homebrew, введите:
brew install git
Для пользователей Linux (Ubuntu/Debian)
Откройте терминал и используйте стандартный пакетный менеджер apt:
sudo apt update
sudo apt install git
После установки на любой системе обязательно проверьте версию, чтобы убедиться, что все прошло успешно:
git --version
Вы должны увидеть что-то вроде git version 2.34.1 (цифры могут отличаться).
Консоль: краткий ликбез
Вы просили помочь изучить git(cmd). Git — это консольная утилита. Хотя существуют графические интерфейсы (кнопки и меню), настоящий профессионал должен уметь работать через командную строку (терминал). Это дает полный контроль и понимание процессов.
Вот несколько базовых команд терминала (Bash), которые нам понадобятся для навигации перед тем, как мы вызовем Git:
pwd(Print Working Directory) — показывает, в какой папке вы сейчас находитесь.ls(List) — показывает список файлов и папок в текущей директории. (На Windows в Git Bash это тоже работает).cd <название_папки>(Change Directory) — переход в другую папку.mkdir <название_папки>(Make Directory) — создание новой папки.
Попробуйте открыть терминал (или Git Bash на Windows) и попрактиковаться:
# Посмотреть, где мы
pwd
# Создать папку для обучения
mkdir git-course
# Зайти в нее
cd git-course
Базовая настройка Git
После установки Git нужно «представиться». Каждый раз, когда вы будете сохранять изменения (делать коммит), Git будет записывать ваше имя и email как автора этих изменений. Это критически важно для истории проекта.
Эти настройки делаются один раз для всего компьютера (флаг --global).
1. Настройка имени пользователя
Введите команду, подставив свое имя (на латинице):
git config --global user.name "Ivan Ivanov"
2. Настройка email
Введите свой реальный email (тот же, который вы планируете использовать для регистрации на GitHub):
git config --global user.email "ivanov@example.com"
3. Настройка ветки по умолчанию (опционально, но рекомендуется)
Исторически главная ветка в Git называлась master. В последние годы индустрия перешла на название main. Чтобы Git сразу создавал ветку main при инициализации новых проектов, выполните:
git config --global init.defaultBranch main
Проверка настроек
Чтобы убедиться, что вы все ввели верно, попросите Git показать список всех настроек:
git config --list
Вы увидите список, в котором должны быть строки user.name=... и user.email=.... Если вы ошиблись, просто введите команду настройки (git config ...) заново с правильными данными — старое значение перезапишется.
Инициализация проекта: git init
Теперь самое интересное. Давайте создадим наш первый репозиторий. Репозиторий (или «репо») — это папка с вашим проектом, которую отслеживает Git.
Предположим, мы уже находимся в папке git-course, которую создали ранее.
Команда инициализации
Чтобы сказать Git: «Эй, начни следить за этой папкой», нужно выполнить всего одну команду:
git init
Если все прошло успешно, вы увидите сообщение:
Initialized empty Git repository in /путь/к/вашей/папке/.git/
Что произошло?
Визуально в папке ничего не изменилось. Ваши файлы (если бы они там были) остались на месте. Но на самом деле магия случилась. Git создал скрытую подпапку с именем .git.
Папка .git — это и есть сам репозиторий. В ней Git хранит всю историю изменений, конфигурации и служебную информацию.
Важное правило: Никогда не удаляйте и не меняйте файлы внутри папки .git вручную, если не знаете точно, что делаете. Удаление этой папки превратит ваш проект обратно в обычную папку, и вся история изменений будет потеряна навсегда.
Чтобы увидеть эту скрытую папку в терминале, используйте команду ls с флагом -a (all):
ls -a
Вы увидите . (текущая папка), .. (родительская папка) и .git.
Проверка состояния: git status
Это команда, которую вы будете использовать чаще всего. Она отвечает на вопрос: «Что сейчас происходит в моем репозитории?».
Давайте проверим статус нашего только что созданного репозитория:
git status
Вывод будет примерно таким:
On branch main
No commits yet
nothing to commit (create/copy files and use "git add" to track)
Давайте разберем, что нам сказал Git:
- On branch main: Мы находимся на главной ветке
main. - No commits yet: В истории пока нет ни одного сохранения (коммита).
- nothing to commit: Нет новых или измененных файлов, за которыми нужно следить (папка пуста).
Практическое задание: создаем первый файл
Давайте создадим простой текстовый файл, чтобы увидеть, как отреагирует Git.
- Создайте файл
hello.txtс любым текстом. Можно сделать это через обычный редактор или командой в терминале:echo "Привет, Git!" > hello.txt - Снова проверьте статус:
git status
Теперь вывод изменится:
On branch main
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
hello.txt
nothing added to commit but untracked files present (use "git add" to track)
Git увидел новый файл, но пометил его как Untracked (неотслеживаемый). Это значит, что Git видит файл, но пока не сохраняет его изменения в своей базе данных. Он ждет вашей команды, чтобы начать это делать.
Итоги
Поздравляю! Вы сделали первый шаг в мир профессиональной разработки.
Что мы узнали:
- Git — это система для управления версиями файлов (машина времени).
- Git работает локально, а GitHub — это облако для хранения репозиториев.
- Настройка
user.nameиuser.emailобязательна для идентификации автора. - Команда
git initсоздает репозиторий (скрытую папку.git). - Команда
git statusпоказывает текущее состояние проекта.
В следующей статье мы разберем, как именно сохранять изменения: мы изучим концепцию Staging Area (индекса), научимся делать коммиты и смотреть историю изменений.
Подготовьтесь, дальше будет еще интереснее!