Если вы учитесь на IT‑направлении, то наверняка уже сталкивались с необходимостью показать свои работы. Портфолио с живыми примерами проектов — один из самых убедительных аргументов в пользу вашего уровня. И самый простой способ «оживить» свой код — разместить сайт на GitHub Pages. В статье рассмотрим, как это сделать.
Что такое GitHub Pages и зачем он нужен студенту
GitHub Pages — это хостинг статических сайтов, встроенный прямо в GitHub. Он позволяет превратить содержимое репозитория в работающий сайт.
Для начинающих разработчиков это особенно полезно по нескольким причинам:
- Демонстрация проектов. Работодатели и заказчики часто просят не только код, но и ссылку на работающий сайт. GitHub Pages дает такую ссылку сразу.
- Простота. Не нужно разбираться с серверами, SSH, базами данных или сложными настройками. Достаточно загрузить файлы и включить одну опцию.
- Интеграция с Git. Все изменения проходят через привычные команды git push, а история версий остается прозрачной.
- Бесплатный хостинг. Вы получаете адрес вида username.github.io без платы за сам хостинг.
Важно понимать: GitHub Pages поддерживает только статические сайты — HTML, CSS, JavaScript, картинки, шрифты и другие файлы. Если проекту нужна серверная логика — PHP, Node.js, базы данных, этот вариант не подойдет. Но для лендингов, портфолио, блогов и простых веб‑приложений — это идеальный старт.

Подготовка: что нужно сделать до публикации
Прежде чем переходить к настройкам, убедитесь, что у вас есть все необходимое:
- Аккаунт на GitHub. Если его нет — зарегистрируйтесь. Это бесплатно.
- Репозиторий для проекта. Создайте новый репозиторий или используйте существующий.
- Файлы сайта. В корне репозитория должен лежать файл index.html — это главная страница, которую GitHub Pages покажет первой.
- Git на компьютере. Убедитесь, что Git установлен и настроен. Проверить это можно командой git —version.
Если у вас еще нет проекта, можно создать простую страницу‑заглушку:
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8" /> <title>Мое портфолио</title> </head> <body> <h1>Привет, это мое первое портфолио!</h1> <p>Здесь будут мои проекты.</p> </body> </html>
Сохраните этот код как index.html, и вы уже готовы к публикации.
Как разместить сайт: пошаговая инструкция
Шаг 1. Создайте репозиторий
Зайдите на GitHub и нажмите «New» или «Create repository». Задайте имя репозиторию.
Есть два распространенных сценария:
- Сайт по адресу username.github.io. Назовите репозиторий точно так: username.github.io, где username — ваш ник на GitHub. В этом случае сайт будет доступен по адресу https://username.github.io.
- Сайт в обычном репозитории. Если вы хотите использовать любое другое имя (например, my-project), сайт будет доступен как username.github.io/my-project. Для этого варианта особенно важно правильно выбрать ветку в настройках GitHub Pages.
Шаг 2. Загрузите файлы
Есть два основных способа:
Способ 1 — через интерфейс GitHub. На странице репозитория нажмите «Add file» — «Upload files», перетащите файлы и сделайте коммит.
Способ 2 — через терминал. Здесь есть два варианта в зависимости от состояния вашей локальной папки:
- Если Git уже настроен в папке с проектом:
git add . git commit -m "Первый коммит с файлами сайта" git push -u origin main
- Если Git еще не настроен в папке:
git init git add . git commit -m "Первый коммит с файлами сайта" git branch -M main git remote add origin https://github.com/<username>/<repo-name>.git git push -u origin main
Не забудьте заменить <username> на ваш ник и <repo-name> на имя вашего репозитория.
Шаг 3. Включите GitHub Pages
- Откройте репозиторий на GitHub.
- Перейдите в «Settings».
- В меню слева найдите раздел «Pages».
- В пункте «Build and deployment» в поле «Branch» выберите ветку, из которой будет собираться сайт: обычно это main или master.
- Сохраните настройки.
После этого GitHub начнет сборку сайта. Этот процесс может занять от нескольких минут до получаса. Когда все будет готово, в этом же разделе появится ссылка на ваш сайт.
Шаг 4. Проверьте результат
Откройте ссылку вида username.github.io или username.github.io/<repo-name>, если использовали обычный репозиторий. Если вы видите свою страницу — поздравляем, сайт опубликован.
Если вместо сайта отображается ошибка или страница «404», проверьте:
- Есть ли файл index.html в корне репозитория.
- Правильно ли выбрана ветка в настройках GitHub Pages.
- Нет ли опечаток в названии репозитория или ссылки.
Частые ошибки и как их исправить
Даже при простой процедуре случаются типичные проблемы. Вот самые распространенные:
- Нет файла index.html. GitHub Pages ищет именно этот файл в корне. Если его нет или он лежит в папке, сайт не запустится.
- Неправильная ветка. Если проект находится в ветке dev, а в настройках указана main, сайт не обновится.
- Ошибки в путях. Ссылки на картинки, стили и скрипты должны быть относительными. Например, <img src=»images/photo.jpg»>, а не абсолютными путями с вашего компьютера.
- Кэш браузера. Иногда страница не обновляется даже после пуша. Попробуйте открыть сайт в режиме инкогнито или очистить кэш.
Дополнительные возможности: кастомный домен и базовая настройка
Если вам хочется, чтобы сайт открывался не по адресу username.github.io, а по своему домену, например, mysite.com), это можно сделать. Важно: сам домен — mysite.com — вы покупаете у регистратора отдельно — это платная услуга. GitHub Pages не берет плату за хостинг, но сам домен нужно оплатить.
Как подключить кастомный домен:
- Купите домен у любого регистратора.
- В настройках GitHub Pages в поле «Custom domain» укажите ваш домен.
- На стороне регистратора настройте DNS‑записи: добавьте CNAME с указанием username.github.io.
- Сохраните изменения и подождите от нескольких часов до нескольких дней, пока DNS обновится.
Также можно добавить файл _config.yml для базовой настройки Jekyll — это генератор статических сайтов, который встроен в GitHub Pages. Например, задать заголовок сайта или включить плагины. Но Jekyll полезен, если вы используете шаблоны и генераторы статических сайтов. Для обычного HTML‑сайта включать его не нужно, и лучше не создавать файл _config.yml без необходимости — это может вызвать лишние ошибки сборки.
GitHub Actions — как автоматизировать публикацию сайта
GitHub Actions — это инструмент для автоматизации рабочих процессов прямо в репозитории. Для студента он особенно полезен тем, что позволяет не думать о ручной сборке и деплое: как только вы делаете git push, Actions сам собирает проект и выкладывает его на GitHub Pages.
Это особенно актуально, если вы используете генераторы статических сайтов или компилируете код. Для простого HTML‑сайта Actions не обязателен, но знать, как он работает, полезно.
Когда GitHub Actions действительно нужен
Рассмотрите использование Actions, если:
- Вы собираете сайт из исходников. Например, пишете стили на Sass/Less, скрипты на TypeScript, а в репозиторий храните не готовые файлы, а исходники. Тогда Actions должен скомпилировать их перед публикацией.
- Используете генератор статических сайтов. Jekyll, Hugo, Astro, Eleventy и другие требуют этапа сборки. GitHub Pages умеет делать это «из коробки» только для Jekyll, и то с ограничениями. Для остальных нужен явный шаг сборки.
- Хотите строгий контроль качества. Можно добавить шаги проверки: линтеры, тесты, проверку валидности HTML/CSS. Если что‑то не проходит — деплой блокируется.
- Нужно управлять версиями и артефактами. Иногда полезно сохранять собранные файлы как артефакты или публиковать разные версии сайта.
Для обычного HTML/CSS/JS без компиляции и без генераторов GitHub Pages может обойтись и без Actions: достаточно положить готовые файлы и включить Pages в настройках.
Как это работает
Вы создаете в репозитории файл рабочего процесса (workflow) в папке .github/workflows. В нем описываете шаги: установить зависимости, собрать проект, выложить результат в ветку gh-pages или в ту же ветку, если Pages настроен на нее. При каждом push в ветку, например, main, запускается этот workflow. Результат попадает на GitHub Pages, и сайт обновляется автоматически.
Практические советы
Чтобы ваш сайт на GitHub Pages выглядел профессионально и помогал в поиске работы, учтите несколько моментов:
- Добавьте README.md. Даже если сайт уже работает, файл README.md в репозитории — это визитная карточка проекта. Укажите там краткое описание, стек технологий и ссылку на сайт.
- Версионируйте изменения. Каждый значимый апдейт оформляйте отдельным коммитом с понятным сообщением. Это покажет вашу дисциплину и умение работать с Git.
- Тестируйте локально. Перед публикацией можно запустить локальный сервер, например, через python -m http.server или расширения для VS Code, чтобы убедиться, что все отображается корректно.
- Следите за путями. Картинки, стили и шрифты должны лежать в правильных папках, а ссылки на них — быть относительными, иначе на GitHub Pages они не загрузятся.
Как разместить сайт на GitHub Pages бесплатно — главное
- GitHub Pages — это бесплатный хостинг статических сайтов прямо в GitHub, идеально подходящий для портфолио и учебных проектов.
- Для публикации достаточно иметь репозиторий, файл index.html и включенную опцию Pages в настройках; при этом важно правильно выбрать ветку.
- Частые проблемы связаны с отсутствием index.html, неправильной веткой или ошибками в путях к ресурсам.
- Можно подключить свой домен, настроив DNS и указав его в настройках GitHub Pages, но сам домен придется купить отдельно.
- Публикация сайта — это не только демонстрация результата, но и тренировка работы с Git и понимание того, как веб‑проекты попадают в интернет.
