23 August 2015 23:48
Все никак руки не доходили выложить 'напоминалку' по рабоче с репозиториями на хостинге, и вот случилось.
На сервере создаем папку в которой будет хранится сам git репозиторий, мы его отделяем от рабочей директории сайта, чтобы файлы в директории .git никаким образом небыли доступный снаружи:
$ mkdir website.git && cd website.git $ git init --bare Initialized empty Git repository in /home/ams/website.git/
После чего необходимо настроить post-receive hook, для того чтобы после Вашего пуша (push) на сервер, git обновил рабочую директорию сайта.
$ mkdir /var/www/www.example.org $ cat > hooks/post-receive #!/bin/sh GIT_WORK_TREE=/var/www/www.example.org git checkout -f $ chmod +x hooks/post-receive
Где, /var/www/www.example.org - путь к папке сайта на Вашем хостинге.
После этого на своей локальной машине, настраиваем существующий репозиторий на работу с новым remote:
$ git remote add web ssh://server.example.org/home/ams/website.git $ git push web +master:refs/heads/master
Где, ssh://server.example.org/home/ams/website.git - путь к репозиторию на вашем хостинге, обратите внимание что доступ по ssh должен быть открыт.
Ну и загружаем все обновления на сервер:
$ git push web
В случае, если Вам понадобиться на хостинге переключить ветку с master, на какую-то другую используйте команду:
$git --work-tree=/var/www/www.example.org checkout branch_name
Где, branchn_name - имя Вашей ветки.