Перейти к основному контенту

Работа с Git на хостинге

Что такое Git

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

Для создания проекта (например, сайта) с использованием Git вам понадобится:

  • Локальный репозиторий — хранилище Git на локальном компьютере. Сначала вы работаете над проектом на своём рабочем компьютере и сохраняете изменения в локальный репозиторий с помощью коммита (commit). Затем помещаете (push) изменения в удалённый репозиторий. Если над проектом работают несколько разработчиков, у каждого свой локальный репозиторий.

  • Удалённый репозиторий — система управления репозиториями кода для Git. Например: GitHub, GitLab, Bitbucket. После завершения локальной работы над кодом каждый разработчик проекта отправляет свою часть кода или изменения в удалённый репозиторий, где всё сливается (merge) воедино, а затем разворачивается (deploy) на сервер проекта.

  • Сервер проекта — это виртуальный хостинг, VPS или любой другой сервер. Развернуть свой проект можно несколькими способами. Существуют системы автоматического развёртывания из удалённого репозитория, а также ручное клонирование с помощью Git.

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

Ниже рассмотрим, как поместить код в удалённый репозиторий на примере GitHub и как клонировать файлы на услугу хостинга.

Подготовка к работе

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

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

  3. Файлы, которые необходимо отправить в удалённый репозиторий, добавьте с помощью команды git add каталог/название_файла или же выполните команду git add ., чтобы добавить все папки и файлы, которые находятся каталоге вашего проекта.

  4. Создайте коммит с помощью команды

git commit -m "any comment"

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

Отправка изменений в удалённый репозиторий

Все команды будут выстроены на примере работы с GitHub. Работа с другими хранилищами репозитория происходит по аналогии.

  1. 1.
    На сайте GitHub создайте репозиторий. После этого вы получите ссылку на ваш репозиторий, например: https://github.com/userName/regru-hosting.git
  2. 2.

    На локальном компьютере, в терминале, добавьте ссылку удалённого репозитория с помощью команды:

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

    Затем отправьте изменения в удалённый репозиторий с помощью команды:

    git push origin master

    Система запросит ваш логин и пароль от GitHub.

    Готово, после завершения отправки ваши файлы появятся в удалённом репозитории на GitHub.

Публикация сайта с GitHub на хостинг

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

Чтобы клонировать изменения с GitHub на хостинг REG.RU:

  1. 1.
  2. 2.
  3. 3.

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

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

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

В дальнейшем вместо команды из 3 шага вы можете выполнить команду git pull, которая будет синхронизировать файлы на хостинге с файлами из репозитория.

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

Создание открытого SSH-ключа

  1. 1.

    Проверьте, есть ли SSH-ключи на вашем хостинге. Для этого:

    Перейдите в каталог, в котором они хранятся:

    cd ~/.ssh

    Запросите содержимое каталога:

    ls
  2. 2.

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

    • Если в выводе команды отображается следующее содержимое:
    authorized_keys2  id_rsa       known_hosts
    
    config            id_rsa.pub

    Где id_rsa.pub — открытый ключ, а id_rsa — приватный ключ.

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

    cd ~/.ssh/

    Откройте файл командой:

    cat id_rsa.pub
    • Если в выводе команды вы видите ошибку «No such file or directory», создайте ключи самостоятельно. Для этого:

    Запустите утилиту:

    ssh-keygen

    Укажите имя файла:

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

    Где id_rsa — имя файла без расширения.

    Укажите пароль:

    Enter passphrase (empty for no passphrase):

    Вы можете оставить пароль пустым, для этого нажмите Enter.

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

    cd ~/.ssh/

    Откройте файл командой:

    cat id_rsa.pub

    Где id_rsa.pub — название файла открытого ключа.

Готово, вы сгенерировали ключи.

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 2 из 2