Работа с Git на хостинге
Что такое Git
Git — система контроля версий, которая позволяет хранить и отслеживать внесенные в файлы изменения. С Git над одним проектом могут работать несколько разработчиков.
Для создания проекта (например, сайта) с использованием Git вам понадобится:
- Локальный репозиторий — хранилище Git на локальном компьютере. Сначала вы работаете над проектом на своем рабочем компьютере и сохраняете изменения в локальный репозиторий с помощью коммита (commit). Затем помещаете (push) изменения в удаленный репозиторий. Если над проектом работают несколько разработчиков, у каждого свой локальный репозиторий.
- Удаленный репозиторий — система управления репозиториями кода для Git. Например: GitHub, GitLab, Bitbucket. После завершения локальной работы над кодом каждый разработчик проекта отправляет свою часть кода или изменения в удаленный репозиторий, где всё сливается (merge) воедино, а затем разворачивается (deploy) на сервер проекта.
- Сервер проекта — это виртуальный хостинг, VPS или любой другой сервер. Развернуть свой проект можно несколькими способами. Существуют системы автоматического развёртывания из удаленного репозитория, а также ручное клонирование с помощью Git.
На хостинге Рег.ру установлен Git, благодаря чему вы сможете упростить процесс разработки и публикации сайта. Обратите внимание: на хостинге Рег.ру по умолчанию используется Git версии 1.7.1. Для запуска версии 2.19.2 используйте алиас git2192.
Ниже рассмотрим, как поместить код в удалённый репозиторий на примере GitHub и как клонировать файлы на услугу хостинга.
Подготовка к работе
- Для работы вам необходимо скачать Git с официального сайта и установить на свой локальный компьютер. Для пользователей Linux Git, как правило, доступен из коробки. Для пользователей Windows рекомендуем использовать графические оболочки, например SmartGit или GitKraken.
- Работа с Git происходит через терминал. Если у вас нет локального репозитория, создайте его в каталоге проекта с помощью команды
git init
- Файлы, которые необходимо отправить в удалённый репозиторий, добавьте с помощью команды
git add каталог/название_файла
или же выполните командуgit add .
, чтобы добавить все папки и файлы, которые находятся в каталоге вашего проекта. - Создайте коммит с помощью команды
git commit -m "any comment"
Готово, вы создали репозиторий, добавили туда файлы проекта и сделали свой первый коммит. Подробнее о работе с Git, создании веток, слиянии, откате изменений и прочих командах вы можете узнать в официальной документации.
Отправка изменений в удаленный репозиторий
Все команды будут выстроены на примере работы с GitHub. Работа с другими хранилищами репозитория происходит по аналогии.
-
1.
На сайте GitHub создайте репозиторий. После этого вы получите ссылку на ваш репозиторий, например: https://github.com/userName/regru-hosting.git
-
2.
На локальном компьютере, в терминале, добавьте ссылку удалённого репозитория с помощью команды:
git remote add origin https://github.com/userName/regru-hosting.git
-
3.
Затем отправьте изменения в удаленный репозиторий с помощью команды:
git push origin master
Система запросит ваш логин и пароль от GitHub.
Готово, после завершения отправки ваши файлы появятся в удалённом репозитории на GitHub.
Публикация сайта с GitHub на хостинг
Ваш домен должен быть привязан к услуге хостинга.
Чтобы клонировать изменения с GitHub на хостинг Рег.ру:
- 1.
-
2.
Перейдите в корневой каталог вашего сайта.
-
3.
Выполните команду:
git clone https://github.com/mrradu/regru-hosting.git.
Важно: в конце команды должна стоять точка. Это нужно для копирования самих файлов из репозитория в корневой каталог. Иначе в корневой каталог будет загружен каталог репозитория, а уже затем в него сами файлы.
В дальнейшем вместо команды из 3 шага вы можете выполнить команду git pull
, которая будет синхронизировать файлы на хостинге с файлами из репозитория.
Готово, теперь вы можете работать над проектом локально, сохранять свои изменения в удалённом репозитории, а затем публиковать их на хостинг.
Создание открытого SSH-ключа
Проверьте, есть ли SSH-ключи на вашем хостинге. Для этого:
-
1.
Перейдите в каталог, в котором они хранятся:
cd ~/.ssh
Запросите содержимое каталога:
ls
-
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 — название файла открытого ключа.
Готово, вы сгенерировали ключи.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊