Мне посоветовали настроить на удаленном сервере
foo.com/~/bar.com # live webpage content
foo.com/~/bar.com.git # a bare repo
так, с моей локальной машины я могу сделать
git push
, и на удаленном компьютере будет выдано значение foo.com/~/bar.com.git
(полный путь - ssh://peter@www.foo.com/~/bar.com.git
Как можно добавить hook , чтобы после push-запроса удаленный сервер cd ~/bar.com
выполнял git pull
, чтобы обновлялся весь контент (так же, как на локальном компьютере)? (не нужно запускать git update
как для Mercurial?)
(это связано с Не могу скопировать папку на сервере, а затем отредактировать и нажать git? прямо сейчас я могу ssh к foo.com
и cd ~/bar.com
и ждать там и делать git pull
всякий раз после git push
с локальной машины, но было бы неплохо сделать это автоматически)
Обновление : отправляйте ответ только в том случае, если вы знаете конкретные детали и как это сделать. Если вы запустите Google или опубликуете здесь первый или второй результат Google, это не поможет.
Обновление 2 : Я зашел на ~/bar.com.git/hooks
и добавил новый файл post-receive
с содержанием:
#!/bin/bash
cd ~/bar.com
git pull ../bar.com.git master
, а также chmod 755 post-receive
, и если я отредактирую файл на локальном компьютере, а затем git com -m "ok"
и git push
, изменения не будут внесены в папку удаленного компьютера ~/bar.com