Работа с Git на хостинге REG.RU для загрузки и обновления сайта

Git помогает загружать и обновлять проект на хостинге без ручного копирования файлов через FTP. Вместо того чтобы каждый раз переносить измененные файлы по одному, разработчик сохраняет изменения в репозитории, отправляет их на GitHub, GitLab или другой сервис, а затем подтягивает актуальную версию проекта на сервер.

Такой подход удобен для сайтов, которые регулярно дорабатываются: лендингов, корпоративных ресурсов, интернет-магазинов, веб-приложений, проектов на фреймворках и CMS с собственной темой или кастомными модулями. Git позволяет видеть историю изменений, быстро возвращаться к предыдущим версиям и работать над проектом вместе с командой.

На хостинге REG.RU Git установлен и может использоваться для публикации проекта через SSH. В этой статье разберем, как подготовить локальный репозиторий, отправить код в удаленное хранилище, клонировать проект на хостинг, обновлять сайт командой git pull и избежать частых ошибок при работе.

Что такое Git и зачем он нужен на хостинге

Git — это система контроля версий. Она отслеживает изменения в файлах проекта и позволяет сохранять их в виде коммитов. Каждый коммит можно воспринимать как контрольную точку: в ней зафиксировано, какие файлы изменились, что было добавлено, удалено или исправлено.

В обычной работе с сайтом Git решает несколько практических задач. Он помогает не потерять изменения, работать над проектом с несколькими разработчиками, хранить код в удаленном репозитории и разворачивать обновления на сервере более аккуратно.

Без Git владелец сайта часто работает по схеме «скачал файл, изменил, загрузил обратно». При таком подходе легко заменить не ту версию, забыть часть файлов или случайно удалить важный каталог. Git делает процесс более управляемым: изменения сначала фиксируются локально, затем отправляются в удаленный репозиторий, а уже после этого публикуются на хостинге.

Как устроена работа с Git

Чтобы понять процесс публикации сайта через Git, важно различать три части: локальный репозиторий, удаленный репозиторий и сервер проекта.

Локальный репозиторий

Локальный репозиторий находится на компьютере разработчика. Именно там обычно создаются файлы сайта, вносятся правки, тестируются изменения, выполняются коммиты и подготавливается новая версия проекта.

Если над сайтом работает несколько человек, у каждого может быть собственная локальная копия проекта.

Удаленный репозиторий

Удаленный репозиторий размещается в сервисе для хранения кода. Чаще всего используют GitHub, GitLab или Bitbucket. В него разработчики отправляют свои изменения командой push.

Удаленное хранилище становится центральной точкой проекта. Там можно хранить основную ветку, принимать изменения от команды, смотреть историю коммитов и управлять доступами.

Сервер проекта

Сервер проекта — это хостинг, VPS или другая площадка, где сайт открывается для посетителей. В случае REG.RU проект можно развернуть на виртуальном хостинге, если доступен SSH и команда Git.

На стороне хостинга обычно выполняют клонирование репозитория или обновление уже загруженного проекта командой git pull.

Особенности Git на хостинге REG.RU

На хостинге REG.RU Git установлен по умолчанию. При этом стандартная версия Git — 1.7.1. Если нужно использовать версию 2.19.2, применяется алиас: git2192

Это важно учитывать, если проект использует команды или сценарии, рассчитанные на более современные версии Git. Для простого клонирования репозитория и обновления файлов часто достаточно стандартных возможностей, но при сложных рабочих процессах версия может иметь значение.

Для работы с Git на хостинге понадобится SSH-доступ. Через SSH пользователь подключается к серверу, переходит в корневую папку сайта и выполняет команды Git непосредственно на хостинге.

Если вы только выбираете площадку для проекта и хотите заранее оценить поддержку SSH, Git, FTP, SFTP, панель управления, работу с доменами и DNS, полезно изучить обзор хостинга REG.RU, чтобы понять, какие инструменты доступны для размещения и обновления сайта.

Что нужно подготовить перед началом

Перед публикацией сайта через Git убедитесь, что готовы основные элементы:

  • На компьютере установлен Git;
  • Проект находится в локальной папке;
  • Создан удаленный репозиторий на GitHub, GitLab, Bitbucket или другом сервисе;
  • Домен привязан к услуге хостинга;
  • Есть доступ к хостингу по SSH;
  • Известна корневая папка сайта;
  • Файлы, которые не должны попадать в репозиторий, добавлены в .gitignore.

Особое внимание стоит уделить корневой папке сайта. Если выполнить клонирование не в ту директорию, проект загрузится на сервер, но сайт в браузере может не измениться.

Инструкция по подготовке локального репозитория

Шаг 1. Установите Git на компьютер

Для работы с Git на локальном компьютере должна быть установлена соответствующая программа. На Linux Git часто уже доступен в системе. На Windows можно использовать Git через терминал или графические оболочки, например SmartGit или GitKraken.

После установки откройте терминал и перейдите в папку проекта.

Шаг 2. Создайте локальный репозиторий

Если проект еще не является Git-репозиторием, выполните команду:

git init

После этого Git начнет отслеживать изменения внутри текущей папки проекта.

Шаг 3. Добавьте файлы в индекс

Чтобы подготовить файлы к сохранению, добавьте их в индекс. Для одного файла или каталога используется команда:

git add каталог/название_файла

Если нужно добавить все файлы и папки из текущего каталога, выполните:

git add .

Перед выполнением этой команды желательно проверить файл .gitignore, чтобы в репозиторий случайно не попали кеш, временные файлы, локальные настройки, резервные копии, дампы базы данных и конфиденциальные данные.

Шаг 4. Создайте первый коммит

Коммит сохраняет текущее состояние проекта в истории Git. Выполните команду:

git commit -m "any comment"

Текст внутри кавычек можно заменить на понятное описание изменения. Например, для первой версии проекта можно использовать комментарий о начальной публикации.

Как отправить проект в удаленный репозиторий

Шаг 1. Создайте репозиторий в GitHub или другом сервисе

Откройте выбранный сервис хранения кода и создайте новый репозиторий. После создания сервис покажет ссылку на репозиторий. Она может выглядеть так:

https://github.com/userName/regru-hosting.git

В реальном проекте вместо userName и regru-hosting будут ваши значения.

Шаг 2. Добавьте удаленный репозиторий

На локальном компьютере в терминале выполните команду:

git remote add origin https://github.com/userName/regru-hosting.git

Эта команда связывает локальный проект с удаленным репозиторием, который будет использоваться для отправки изменений.

Шаг 3. Отправьте изменения в удаленный репозиторий

Чтобы передать код в удаленное хранилище, выполните:

git push origin master

Система может запросить логин и пароль или другой способ авторизации в сервисе хранения кода. После успешного выполнения команды файлы проекта появятся в удаленном репозитории.

В некоторых новых репозиториях основная ветка может называться не master, а main. В этом случае используйте имя ветки, которое указано в вашем репозитории.

Как опубликовать проект с GitHub на хостинге REG.RU

Шаг 1. Подключитесь к хостингу по SSH

Для публикации проекта необходимо подключиться к услуге хостинга через SSH. На macOS и Linux можно использовать встроенный терминал. На Windows подойдет Windows Terminal, PowerShell с OpenSSH или PuTTY.

Общий вид команды подключения:

ssh username@server

Вместо username укажите логин хостинга, а вместо server — адрес сервера из параметров услуги.

Шаг 2. Перейдите в корневой каталог сайта

После входа по SSH нужно перейти в директорию домена. Именно из нее сервер показывает сайт в браузере.

Для перехода используется команда:

cd путь_к_папке_сайта

Вместо путь_к_папке_сайта укажите фактический путь к корневой папке домена. Его можно посмотреть в панели управления хостингом.

Шаг 3. Клонируйте репозиторий в корневую папку

Когда вы находитесь в нужном каталоге, выполните команду:

git clone https://github.com/mrradu/regru-hosting.git .

Точка в конце команды обязательна, если нужно загрузить сами файлы репозитория прямо в текущую корневую папку сайта. Если точку убрать, Git создаст внутри корня отдельную папку репозитория, и файлы окажутся на уровень глубже. Из-за этого сайт может не открыться или показывать старую страницу.

Шаг 4. Проверьте файлы в каталоге

После клонирования убедитесь, что файлы проекта появились именно в корневой папке сайта. Можно выполнить команду:

ls -la

В списке должны быть видны файлы проекта: например, index.php, index.html, папки CMS, файлы шаблона или другие элементы вашего сайта.

Шаг 5. Откройте сайт в браузере

После загрузки проекта откройте домен в браузере. Если домен привязан к хостингу, DNS обновились, файлы находятся в правильной директории, а проект не требует дополнительных настроек, сайт должен отобразиться.

Если проект использует базу данных, переменные окружения, Composer, сборку фронтенда или другие зависимости, потребуется выполнить дополнительные действия согласно требованиям конкретного проекта.

Как обновлять сайт через git pull

После первой публикации проекта не нужно каждый раз заново клонировать репозиторий. Дальше сайт можно обновлять командой git pull.

Шаг 1. Внесите изменения локально

На компьютере разработчика отредактируйте файлы, проверьте сайт в локальной среде, добавьте изменения и создайте коммит.

git add .
git commit -m "any comment"

Шаг 2. Отправьте изменения в удаленный репозиторий

Передайте новую версию проекта в GitHub или другой сервис:

git push origin master

Если основная ветка называется main, используйте:

git push origin main

Шаг 3. Подключитесь к хостингу по SSH

Откройте SSH-соединение с хостингом и перейдите в корневую папку сайта, где уже находится репозиторий.

Шаг 4. Переключитесь на нужную ветку

Если проект использует ветку main, выполните:

git checkout main

Если используется master, укажите это имя ветки.

Шаг 5. Подтяните изменения на хостинг

Выполните команду:

git pull

Команда git pull получает изменения из удаленного репозитория и объединяет их с локальной копией на сервере. Фактически она выполняет получение данных и слияние изменений.

После завершения команды откройте сайт в браузере и проверьте, что обновления применились корректно.

Как использовать Git 2.19.2 на REG.RU

Если для проекта требуется более новая версия Git, на хостинге REG.RU можно использовать алиас:

git2192

Например, вместо стандартной команды:

git pull

можно использовать:

git2192 pull

То же правило применяется к другим командам Git. Например:

git2192 clone https://github.com/mrradu/regru-hosting.git .

Использовать git2192 стоит в тех случаях, когда стандартная версия Git 1.7.1 не подходит для вашего рабочего процесса или вызывает ошибки совместимости.

Создание SSH-ключа для работы с репозиторием

Для приватных репозиториев и более удобной авторизации часто используют SSH-ключи. Они позволяют подключаться к удаленному репозиторию без постоянного ввода логина и пароля.

Шаг 1. Проверьте наличие ключей

Подключитесь к хостингу по SSH и перейдите в каталог, где хранятся SSH-ключи:

cd ~/.ssh

Проверьте содержимое каталога:

ls

Если в списке есть файлы id_rsa и id_rsa.pub, значит пара ключей уже создана. id_rsa — приватный ключ, его нельзя публиковать и передавать третьим лицам. id_rsa.pub — открытый ключ, его можно добавить в сервис хранения репозитория.

Шаг 2. Посмотрите открытый ключ

Чтобы вывести открытый ключ в терминал, выполните:

cat id_rsa.pub

Скопируйте вывод полностью и добавьте его в настройки SSH-ключей GitHub, GitLab или другого сервиса.

Шаг 3. Создайте ключи, если их нет

Если при переходе в каталог или просмотре файлов вы видите ошибку No such file or directory, ключи нужно создать. Запустите команду:

ssh-keygen

Когда система спросит имя файла, укажите:

Enter file in which to save the key (~/.ssh/id_rsa): id_rsa

Затем будет предложено задать пароль:

Enter passphrase (empty for no passphrase):

Пароль можно оставить пустым, нажав Enter. После генерации перейдите в каталог ключей:

cd ~/.ssh/

И выведите открытый ключ:

cat id_rsa.pub

После добавления открытого ключа в удаленный сервис можно использовать SSH-ссылку репозитория, если это предусмотрено вашим сценарием работы.

Что добавить в .gitignore перед публикацией

Перед отправкой проекта в удаленный репозиторий важно исключить файлы, которые не должны храниться в Git. Это помогает не засорять репозиторий и снижает риск утечки данных.

Обычно в .gitignore добавляют:

  • локальные настройки среды;
  • файлы с паролями и токенами;
  • кеш CMS;
  • временные файлы;
  • резервные копии;
  • архивы сайта;
  • дампы базы данных;
  • логи сервера;
  • папки зависимостей, если они собираются отдельно.

Для WordPress, Laravel, Symfony, React, Vue, Node.js и других проектов правила .gitignore могут отличаться. Лучше подготовить их до первого коммита, чтобы лишние файлы не попали в историю репозитория.

Частые ошибки при работе с Git на хостинге

Клонирование выполнено без точки в конце команды

Если выполнить git clone без точки в конце, Git создаст отдельную папку репозитория внутри текущего каталога. В результате стартовый файл сайта может оказаться не в корне домена, а во вложенной директории.

Для загрузки файлов прямо в текущую папку используется команда с точкой:

git clone https://github.com/mrradu/regru-hosting.git .

Команда выполняется не в корневой папке сайта

Перед клонированием или git pull обязательно проверьте текущую директорию. Если обновить не тот каталог, сайт в браузере не изменится, хотя команда выполнится успешно.

Перепутана ветка master и main

В старых проектах основная ветка часто называется master, в новых — main. Если выполнить команду для несуществующей ветки, Git вернет ошибку. Проверьте имя ветки в удаленном репозитории и используйте его в командах.

На сервере есть локальные изменения

Если файлы на хостинге менялись вручную через файловый менеджер, FTP или SSH, команда git pull может столкнуться с конфликтом. Git не всегда сможет автоматически объединить изменения.

Лучше придерживаться одного процесса: правки делать локально, отправлять их в репозиторий, а на хостинге только подтягивать готовую версию.

В репозиторий попали лишние файлы

Если не настроить .gitignore, в Git могут попасть кеш, временные файлы, архивы, логи, дампы базы данных или локальные конфигурации. Это усложняет поддержку проекта и может быть небезопасно.

Не настроен доступ к приватному репозиторию

Если репозиторий закрытый, сервер должен иметь право его читать. Для этого используют логин и пароль, токен доступа или SSH-ключ. Без корректной авторизации git clone и git pull завершатся ошибкой.

Полезные советы по работе с Git

Проверяйте статус перед обновлением

Перед выполнением git pull полезно посмотреть состояние репозитория:

git status

Если Git показывает незакоммиченные изменения на сервере, сначала разберитесь, откуда они появились.

Не редактируйте продакшен вручную без необходимости

Если сайт обновляется через Git, изменения лучше вносить локально и публиковать через репозиторий. Ручные правки на хостинге повышают риск конфликтов.

Храните базу данных отдельно от Git

Git подходит для кода и файлов проекта, но не заменяет резервное копирование базы данных. Если сайт использует CMS, базу нужно сохранять отдельным дампом или через инструменты резервного копирования.

Перед обновлением делайте резервную копию

Даже если Git позволяет откатывать код, перед серьезными изменениями на рабочем сайте полезно создать копию файлов и базы данных. Это особенно важно для интернет-магазинов и проектов с активными пользователями.

Используйте отдельные ветки для разработки

Для безопасной работы удобно вести разработку в отдельной ветке, тестировать изменения, а затем объединять их с основной веткой, которая разворачивается на хостинге.

Git, FTP и файловый менеджер — что выбрать

Git удобен для проектов, которые регулярно обновляются и имеют историю разработки. Он лучше подходит разработчикам, командам и сайтам, где важно контролировать изменения.

FTP и SFTP проще для разовой загрузки готового сайта, замены изображений или передачи нескольких файлов. Файловый менеджер панели управления удобен для быстрых правок через браузер.

Оптимальный вариант зависит от задачи. Если вы один раз размещаете простой HTML-сайт, можно использовать файловый менеджер или SFTP. Если проект постоянно дорабатывается, Git дает больше контроля и снижает риск хаотичных изменений.

Заключение

Работа с Git на хостинге REG.RU позволяет удобнее загружать и обновлять проект на сервере. Сначала разработчик готовит локальный репозиторий, отправляет изменения в GitHub, GitLab или другое удаленное хранилище, а затем через SSH клонирует проект в корневую папку сайта или обновляет его командой git pull.

На хостинге REG.RU по умолчанию установлен Git версии 1.7.1, а для запуска версии 2.19.2 используется алиас git2192. Для публикации проекта важно правильно определить корневой каталог домена, не забывать точку в конце команды git clone и следить за тем, чтобы в репозиторий не попадали конфиденциальные и временные файлы.

Git особенно полезен для сайтов, которые регулярно развиваются: он помогает вести историю изменений, обновлять проект аккуратнее, работать с ветками и быстрее переносить новую версию сайта на хостинг.

Возможно вам будет интересно