Как сделать так, чтобы мой рабочий каталог обновлялся автоматически, когда я отправляю в пустой репозиторий? - PullRequest
0 голосов
/ 20 марта 2012

У меня есть пустой репозиторий на моем сервере, который я помещаю в / var / www / repos / my_project.Я хочу настроить свой рабочий процесс таким образом, чтобы при переходе в указанный репозиторий мой рабочий каталог автоматически обновлял изменения.Моя рабочая директория будет выглядеть примерно так: / var / www / my_live_site.Кто-нибудь знает, как этого добиться?Я посмотрел в Интернете, но не смог найти ни хороших инструкций, ни ресурсов.

Ответы [ 2 ]

1 голос
/ 20 марта 2012

Установите хук post-update (или post-receive, они эквивалентны для этой цели) в пустом хранилище, которое будет запускать git pull в контексте рабочего каталога.

Это значит поставить скрипт на /var/www/repos/my_project/hooks/post-update, содержащий

#!/bin/sh
cd /var/www/my_live_site
git pull

и сделайте его исполняемым. Возможно, вы захотите расширить его, чтобы он запускался только в том случае, если мастер был помещен (post-update ловушка получает имена всех отправленных ссылок в качестве аргументов, поэтому проверьте, что мастер входит в их число), отправьте электронное письмо, если проверка не удалась и тому подобное, но это должен помочь вам.

0 голосов
/ 20 марта 2012
  1. Никогда не помещайте WorkingCopy какой-либо VCS под web-root (вы показываете полную историю разработки и некоторые другие личные данные в случае DVCS)
  2. Используйте git archive в post- * hook для обновления сайта, как Ян уже предлагал
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...