J'essaie d'écrire un petit script PHP qui peut repérer toutes les modifications d'un repo git local sur mon serveur web et les pousser vers mon repo Github (privé). Pousser et tirer depuis le repo Github en utilisant Atom fonctionne parfaitement, pousser les changements vers le serveur web en utilisant un webhook fonctionne parfaitement, pousser et tirer les mises à jour sur le serveur web via la ligne de commande fonctionne parfaitement, mon problème est d'essayer de commiter et pousser les mises à jour sur le serveur web vers mon repo Github en utilisant PHP. Comment faire ?
Si je dois modifier, ajouter ou même supprimer un modèle entier sur le serveur manuellement, je peux valider ces modifications et les pousser vers Github en utilisant la ligne de commande comme ceci sans problème :
git add --all
git commit -m "from server"
git push -u origin master
Mais lorsque j'essaie de le faire en utilisant un script PHP, cela ne fonctionne jamais et je n'obtiens aucun message d'erreur (j'essaie même avec des pauses) :
$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);
Si je lance quelque chose de simple comme git --version ', ' git config --list ou git status ' il fonctionne parfaitement à partir de ces scripts, donc je suis perdu.