Как подтягивать изменения из GitHub

Как установить GIT на свой сайт и подтягивать изменения из репозитория на GitHub.

Можно заливать на сервер данные из GitHub с помощью сторонних ресурсов, типа DeployHQ. Но здесь мы не будем рассматривать готовые инструменты, а пойдем путем создания своего деплоя через команды в bash файле.

О том, как сделать наоборот читайте в другой статье: автодеплой на GitHub со своего сервера.

1. Создаём ssh ключ

Статья по созданию и настройки ssh ключа.

Иначе будут ошибки при соединении с GitHub сервером:

Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

2. Устанавливаем git на сервер

Сначала инсталлируем git на свой сервер:

yum install git

Подробнее о том как проинсталлировать GIT на сервер.

3. Создаем новый репозиторий

Создаём на сайте гитхаб новый репозиторий:
github.com

4. Создаем файл исключений на нашем сервере

Добавляем на удаленный сервер файл с файлами, которые будем игнорировать

.gitignore

5. Клонируем на свой сервер репу

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

git init
git add -A
git commit -m "first commit"
git remote add origin https://github.com/ploshadka/repository.git
git push -u origin master

Вводим свой логин и пароль от github.

6. Клонируем себе

Через программу GitHub Desktop, PhpStorm или консоль, склоннировать репозиторий на локальный компьютер.

Ошибки

Если в логах будут ошибки:

fatal: could not read Username for ‘https://github.com’: No such device or address

Надо зайти в

".git/config"

И поменять

[remote "origin"]
url = https://github.com/ploshadka/some-name.git

на

[remote "origin"]
url = git@github.com:ploshadka/some-name.git

7. Клонируем себе

Создаём на сервере файл bash в котором будет содержимое:

#!/bin/bash
# Запуск через cron каждую минуту

# Время
date=$(date '+%d/%m/%Y %H:%M:%S');

# Переходим в категорию GIT
cd '/home/ваш-путь к сайту'

git pull
echo "$date"
echo "Была выполнена команда подтягивающая изменения из гит."

Ошибки

Если данные переносятся на сервер (например, восстанавливается backup), то в первый раз обязательно надо подтянуть изменения из GIT вручную. Иначе скрипт не отработает. Будет сообщать об ошибке доступа.

Запускаем:

git pull

И соглашаемся на добавление ssh ключа GitHub в разрешенные для связи с ним.

8. Настроить Cron

Настроить cron на запуск этого скрипта, например, каждую минуту.

Для нашего скрипта это будет выглядеть так:

*/1 * * * * root sh /какая-то директория/scripts/git-pull >/какая-то директория/scripts/git-pull.log 2>&1

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

Привет. Ты находишься на моём сайте. Я разработчик. Здесь я делюсь своими наработками и знаниями. Спрашивай в комментариях, если тебе что-то не понятно или пиши, если есть что добавить.

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

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи: "Как подтягивать изменения из GitHub"
Если вам нужно добавить участок кода ставьте его между тегами <code></code>