Невозможно установить переменную 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...

Другие вопросы по тегам