Невозможно установить переменную GIT_WORK_TREE в пустом хранилище при использовании ловушки post_update
Я пытаюсь настроить git с http://danielmiessler.com/study/git/ для управления моим сайтом. Я работаю с использованием GIT GUI в Win7
Я дошел до последнего шага в инструкции: Git Push Website
После перехода на веб-сайт я смог подтвердить, что каталог объектов в пустой директории ~ / website.git обновлен.
мой хук называется 'post_update' и имеет следующее содержимое
#!/bin/sh
echo
echo "**** Pushing data to Live Server.">>~/hi.txt
echo
export > ~.file1.txt
GIT_WORK_TREE=/home/***/public_html/b1a
export >> ~.file1.txt
git checkout -f
когда я захожу в / public_html / b1a, это пустой каталог. Обратите внимание, я изменил каталог hooks и b1a на 777.
Я могу подтвердить, что перехватчик post_update срабатывает, потому что я печатал переменные среды в file1.txt (как вы можете видеть выше). В файле я вижу:
GIT_DIR="."
но GIT_WORK_TREE не виден. без возможности установить это я застрял.
Буду признателен за любую помощь,
Заранее спасибо,
Билл
1 ответ
РЕДАКТИРОВАТЬ: хорошо, так что теперь я вижу вашу проблему.
Это скрипт, который вам нужен:
#!/bin/sh
echo
echo "**** Pushing data to Live Server.">>~/hi.txt
echo
GIT_WORK_TREE=/home/***/public_html/b1a git checkout -f
Я действительно не знаю, почему и как это работает, но это так.
Я тоже не знаю, почему вы перенаправили export
вывод на эти файлы - вам это действительно нужно?
Этот скрипт просто проверить текущий HEAD
хранилища для GIT_WORK_TREE
каталог. Вот и все. Если вам нужно что-то еще, пожалуйста, прокомментируйте.
Я думаю, что вы не экспортируете GIT_WORK_TREE
переменная.
Попробуйте изменить эти строки, чтобы вы действительно экспортировали эту переменную, а не просто устанавливали ее:
#!/bin/sh
echo
echo "**** Pushing data to Live Server.">>~/hi.txt
echo
export GIT_WORK_TREE=/home/***/public_html/b1a
export > ~/.file1.txt
git checkout -f
Первый export
наборы GIT_WORK_TREE
значение и помечает его для экспорта, второй выводит все текущие экспортированные переменные в файл.
Я запускаю это на Linux, но я надеюсь, что то же самое на git-bash...