2014-01-23 1 views
0

Я создал репо для работы с веб-сайтом. На удаленном сервере, я сделал:Как изменить настройку в git-репо, инициированное с помощью --bare

git init --bare 
cat > hooks/post-receive 
#! /bin/sh 
GIT_WORK_TREE=/var/www/dev git checkout -f 

Таким образом, это настроить так, что я могу нажать мой местный репозиторий в папку WWW/Dev. Теперь я хочу нажать эти изменения на сайт. Я изменил путь в настройке GIT_WORK_TREE в файле hooks/post-receive в новую папку, но это не действует, когда я нажимаю на это репо - он все еще обновляет папку на исходном пути.

Как я могу получить репо, чтобы увидеть новую конфигурацию?

+0

Вы можете вручную (используя, например, 'vim') перехватывать файлы/после получения и следить за тем, чтобы путь был правильным и указывал на новую папку. – knittl

+0

Вот что я сделал (я обновляю сообщение, чтобы сделать это яснее), но, похоже, это не признание. – babbaggeii

+0

Это означает, что крюк после приема не запускается, возможно, из-за того, что он не был установлен как исполняемый файл. Если вы вручную запускали его один раз с помощью 'sh hooks/post-receive', он бы * выглядел * готовым, но не на самом деле * готовным *. – torek

ответ

0

Проверьте, выполнил ли выполняемый пост-прием, а каталог в GIT_WORK_TREE доступен для записи пользователю, выполняющему git push.

Добавить

echo 'In post receive hook' 

подключить скрипт, чтобы увидеть, если крюк выполнен.

0

Решено. hooks/post-receive не был исполнен, поэтому я побежал chmod +x hooks/post-receive, и теперь он отлично работает.

Смежные вопросы