Развертывание сайта с помощью Git (Dreamhost) не работает

Я следовал инструкциям в этом руководстве по письмо, чтобы развернуть проект в удаленном репо с помощью Git. Когда я это делаю, ошибок нет, но на удаленном сайте ничего не меняется. Я вижу это, когда нажимаю через это:

git push dreamhost master

Counting objects: 252, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (250/250), done.
Writing objects: 100% (252/252), 994.11 KiB, done.
Total 252 (delta 100), reused 0 (delta 0)
To ssh://[username]@bartow.dreamhost.com/home/[username]/[filename].git
 * [new branch]      master -> master

У меня также есть установка ловушки после получения, которая должна работать:

#!/bin/sh
git --work-tree=/home/timjaeger/[sitename] --git-dir=/home/timjaeger/[sitename].git
checkout -f

Поскольку я не получаю никаких сообщений об ошибках, мне трудно понять, как устранить эту проблему - с чего мне начать? Я новичок в использовании Git для развертывания.


person squeezemylime    schedule 30.03.2013    source источник
comment
Находится ли checkout -f в той же строке, что и git --work-tree...?   -  person VonC    schedule 30.03.2013
comment
да, это на той же линии. Я также запустил chmod +x в файле hooks/post-receive.   -  person squeezemylime    schedule 30.03.2013


Ответы (2)


Изменение пост-получения на это:

#!/bin/sh
GIT_WORK_TREE=/home/timjaeger/[sitename].com git checkout -f

работал. Эта статья помогла найти решение.

person squeezemylime    schedule 30.03.2013
comment
Не забудьте убедиться, что вы установили права доступа к файлу после получения через chmod +x post-receive - person hot_barbara; 17.05.2017

Если у вас есть рабочее дерево в /home/timjaeger/[sitename], то ваш репозиторий git не может быть /home/timjaeger/[sitename].git.

Это должно быть /home/timjaeger/[sitename]/.git, но это сделало бы /home/timjaeger/[sitename] не голым репозиторием, на который было бы неразумно нажимать напрямую.

Рабочее дерево должно быть отделено от голого каталога git репозитория /home/timjaeger/[sitename].git.

не упомянув параметр git-dir (который OP-squeezemylime рекомендует), вы сохраняете текущий каталог выполнения хука на месте (т. е. этот хук будет искать там репозиторий git), указывая при этом другое рабочее дерево.

person VonC    schedule 30.03.2013