Как подключить Git на своём удаленном сервере

В примере ниже создаём отслеживание изменений на сервере с помощью GIT. Это никак не связано с сайтом GITHUB. Можно использовать контроль версии без этого и похожих сайтов. Всё необходимое будет на локальной машине и на удаленном сервере.

На удаленном сервере

Устанавливаем GIT на свой удаленный сервер. Устанавливаем через Терминал (консоль).

В CentOS это делается так:

1
yum install git

Команда для проверки версии:

1
git --version

Теперь создаём директорию, в которой будут отслеживаться изменения и храниться настройки GIT. Пути приведены для панели управления сайтом VESTA. У вас могут быть другие пути. Сайт соответственно меняем на свой.

1
cd /home/admin/web/

Создаём новую директорию, например:

1
mkdir git.ploshadka.net

Переходим в неё:

1
cd git.ploshadka.net

Вводим команду инициализации GIT для этой директории:

1
git init --bare

После этой команды, в папке test появится много новых файлов. Заходим в папку hooks.

1
cd hooks

Создаём в этой же папке новый файл:

1
nano post-receive

Это bash (shell) скрипт.

Записываем следующее содержимое в него:

1
2
#!/bin/sh
git --work-tree=/home/admin/web/ploshadka.net/public_html/test --git-dir=/home/admin/web/ploshadka.net/git checkout -f

work-tree — это то место куда будут записывать измененные файлы на сервер
git-dir — это место, где мы инициализировали GIT (настройки и файлы слежения)

Сохраняем файл и выходим из него.

Добавляем этому файлу необходимые права доступа:

1
chmod +x post-receive

На локальном компьютере

Переходим в папку, где находится наш сайт. Например:

1
cd sites/ploshadka.net

Точно также, как на сервере, инициализируем эту папку, похожей командой:

1
git init

Затем добавляем адрес папки сервера, в которой мы инициализировали GIT этапом ранее:

1
git remote add live ssh://root@123.123.111.1/home/admin/web/git.ploshadka.net/

Теперь всё готово для работы.

Изменяем какой-нибудь файл, на локальной машине, для примера. А затем:

Добавляем изменения в GIT:

1
git add .

или

1
git commit -m "new edits"

С помощью этой команды можно проверить статус файлов (проверка, не обязательна)

1
git status

Теперь отправляем изменения на сервер:

1
git push live master

(Вводим пароль. Можно без ввода пароля, если создать ssh ключ).

Исправление ошибок

Если возникает ошибка:

1
remote: error: cannot run hooks/post-receive: No such file or directory

Значит в файле post-receive указан неверный формат адреса к скрипту. Ошибка может находится в этом месте:

1
#!/bin/sh

Откат изменений

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

1
git log

После которой видны хеши измененных этапов. Выбираем нужный. К примеру, мы хотим откатить до предыдущего изменения. Тогда указываем нужный нам хеш:

1
git revert 5e6dsf4674beb3dfc54f057e52150c4c76

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

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

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

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи: "Как подключить Git на своём удаленном сервере".

Ваш e-mail не будет опубликован. Обязательные поля помечены *