2013-05-27 1 views
1

Я прошел через много много ответов, но ничего не дает никаких результатов.Git post-receive не работает для меня

В основном пост-прием никогда не называется. Это скрипт внутри /home/git/repo.git/hooks/post-receive

#!/bin/sh 
2>&1 > "post-receive.log" 
cd /home/ubuntu/project 
git checkout -f master 

Мы хотим проверить в/дома/убунт/проект

Существует сервер Ubuntu с пользователем ubuntu. Существует также пользователь под названием git. Мы клонируем/нажимаем/тянем и т. Д. Против репозитория под пользователем git.

sudo chmod + x post-receive делается.

Пользователь git - это sudoer.

Итак, когда есть нажим с изменениями! ничего не происходит. post-receive.log даже не создан. Я могу запустить скрипт вручную на сервере в качестве пользователя git. Не как пользователь Ubuntu ...

+0

Вы говорите, что вы не можете запустить скрипт (даже вручную) в качестве другого пользователя. Если вы включили материал selinux, это мешает? – torek

ответ

0

Восстановлено репо, используя только пользователя Ubuntu. Не уверен, что могло бы происходить с пользователем Git, возможно, вы были правы, торек.

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

http://caiustheory.com/automatically-deploying-website-from-remote-git-repository

Однако обратите внимание, что мы должны были установить core.worktree после core.bare конфигурации.

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