Создание крючка Git - Вы находитесь на ветке, которая еще не родилась

Итак, я настраиваю git и следую этому руководству http://toroid.org/ams/git-website-howto.

Я дохожу до этой команды:

# GIT_WORK_TREE=/home3/trncprop/public_html/tpcapp git checkout -f

И получите следующее сообщение об ошибке

fatal: You are on a branch yet to be born

Кто-нибудь знает, что я делаю неправильно?

Заранее спасибо! Литлсвани


person littleswany    schedule 30.08.2014    source источник


Ответы (1)


Эта команда должна быть в хуке, а не выполняться непосредственно в website.git

$ cat > hooks/post-receive
#!/bin/sh
GIT_WORK_TREE=/var/www/www.example.org git checkout -f
$ chmod +x hooks/post-receive

Это означает, что вам нужно создать файл website.git/hooks/post-receive с этой командой и сделать его исполняемым.

Это позволит вам отправлять коммиты поверх этого голого репо (website.git), что вызовет хук после получения и выгрузит содержимое репо в другое рабочее дерево.

person VonC    schedule 30.08.2014
comment
Я пробовал это, для этого бита GIT_WORK_TREE=/var/www/www.example.org git checkout -f после = какой адрес я должен указать? - person littleswany; 30.08.2014
comment
@littleswany вы должны указать любой путь, по которому вы хотите, чтобы содержимое вашего веб-сайта извлекалось (в этом примере /var/www/www.example.org), на который, в свою очередь, будет ссылаться ваш http-сервер DocumentRoot. - person VonC; 30.08.2014
comment
@littleswany это папка, в которой находится ваш веб-сайт. Но вам все равно нужно настроить веб-сервер, который позволит вам использовать веб-адрес (url), переведенный внутри этой папки (DocumentRoot). - person VonC; 30.08.2014
comment
@littleswany см. пример указанного веб-сервера и настройки DocumentRoot в git-scm.com/book/en/Git-on-the-Server-Public-Access - person VonC; 30.08.2014