1

У меня есть репозиторий Github, который я использую через Atom.io вместе с клиентом, чтобы обеспечить синхронизацию всех изменений для их веб-сайта. Репозиторий GitHub содержит веб-крючок, который автоматически передает все наши изменения на действующий веб-сайт, но я хочу использовать PHP, чтобы перенести изменения, сделанные непосредственно на веб-сервере, обратно в репо. То есть: резервное копирование файлов журнала, загрузка изображений и быстрые изменения, которые были сделаны непосредственно на сервере.

Если произойдет одно из этих изменений на сервере, мои сценарии сообщат мне об этом без проблем.

git status

# On branch master
# Changes to be committed:
#   (use "git reset HEAD ..." to unstage)
#
#   new file:   somefolder/somenewfile.whatever
#

Если я делаю это из командной строки, все автоматически синхронизируется:

git add --all
git commit -m "from server"
git push -u origin master

Но если я попытаюсь сделать это с помощью обратных ссылок PHP shell_exec() ` ` ничего не произойдет. Я даже попытался добавить паузы.

$output = `git add --all`;
echo $output;
sleep(1);

$output = `git commit -m "from server"`;
echo $output;
sleep(3);

$output = `git push -u origin master`;
echo $output;
sleep(3);

Кто-нибудь знает, что я здесь делаю не так? Должен ли я помещать эти вызовы в скрипт bash, а затем вызывать его через шаблон PHP?

0