====== Шпаргалка: Git и GitHub Pages (Развертывание) ======
**Автор:** Hallow / Sarcastic Saint
**Назначение:** Данный документ — мой личный регламент по установке, настройке и использованию Git для публикации статических сайтов на GitHub Pages. Он служит "золотой" копией процедуры развертывания моей интерактивной визитной карточки ("Квест Сисадмина").
===== 📝 Этап 1: Установка и настройка Git на Windows =====
Первый шаг — подготовка инструментария. Git for Windows — это не просто программа, а целый набор утилит, требующий правильной конфигурации для интеграции в мою рабочую среду.
==== 1.1. Инсталляция ====
* ✅ **Источник:** Установщик скачан с официального сайта: //[[https://git-scm.com/downloads/|git-scm.com]]//
* ⚙️ **Ключевые параметры установки:**
* **Редактор:** Notepad++ (выбран как внешний редактор по умолчанию для удобства).
* **Имя ветки:** **main** (установлено по умолчанию для всех новых репозиториев, чтобы соответствовать стандарту GitHub).
* **Переменные PATH:** Выбран рекомендованный вариант "**Git from the command line...**", чтобы команда //git// была доступна из любого терминала (PowerShell, CMD, Git Bash).
* **Аутентификация:** Включен **Git Credential Manager** для безопасного кэширования учетных данных.
==== 1.2. Конфигурация пользователя ====
После установки необходимо "представиться" системе Git. Это обязательный шаг, без которого невозможно создавать коммиты. Команды выполняются в терминале один раз для всей системы.
# Установка имени пользователя (публикуется в истории коммитов)
git config --global user.name "Iso-Hallow"
# Установка email (должен совпадать с email на GitHub)
git config --global user.email "моя.почта@example.com"
===== 🚀 Этап 2: Процесс публикации проекта на GitHub Pages =====
Это основной рабочий процесс, от локальных файлов до публичного сайта.
==== 2.1. Подготовка на GitHub ====
1. **Создание репозитория:** В аккаунте //Iso-Hallow// создается новый **публичный** репозиторий (например, //sysadmin-quest//).
==== 2.2. Локальная работа и отправка ====
Все команды выполняются в терминале **Git Bash**, открытом в корневой папке проекта.
1. **Инициализация:** Создание локального репозитория.
git init
2. **Индексация:** Добавление всех файлов проекта в "область подготовки". Точка (//.//) означает "все файлы в текущей папке".
git add .
3. **Коммит:** Фиксация изменений в локальной истории. Это создание "снимка" проекта.
git commit -m "Initial release of Sysadmin Quest"
4. **Привязка к удаленному репозиторию:** Указание Git, куда отправлять файлы.
git remote add origin https://github.com/Iso-Hallow/sysadmin-quest.git
5. **Отправка (Push):** Загрузка локальных коммитов на сервер GitHub.
git push -u origin main
==== 2.3. Авторизация (2ФА и Personal Access Token) ====
❗️ **Важный момент:** При первой отправке (//git push//) стандартный пароль от GitHub **не работает**, так как включена двухфакторная аутентификация (2ФА).
* **Решение:** Вместо пароля используется **Personal Access Token (PAT)**.
1. Токен генерируется в настройках GitHub: //Developer settings -> Personal access tokens -> Tokens (classic)//.
2. Токену выдается минимально необходимое разрешение (scope): **repo**.
3. Сгенерированная строка (начинается с //ghp_...//) копируется и вставляется в поле для пароля в окне авторизации Git Credential Manager.
==== 2.4. Активация GitHub Pages ====
1. В настройках репозитория на GitHub открывается вкладка **Pages**.
2. В качестве источника (Source) выбирается **Deploy from a branch**.
3. Выбирается ветка **main** и папка **/(root)**.
4. После сохранения GitHub автоматически разворачивает сайт.
===== 🏁 Результат =====
Проект становится доступен по адресу вида: **[[https://iso-hallow.github.io/имя-репозитория/]]**
===== 🔄 Обслуживание (Обновление сайта) =====
Процесс обновления сайта сведен к трем простым командам, которые выполняются в папке проекта после внесения изменений в файлы:
git add .
git commit -m "Краткое описание внесенных изменений"
git push
Сайт на GitHub Pages обновляется автоматически в течение 1-2 минут после //push//.