Если вы хотите, чтобы apache (пользователь) мог извлекать данные из git, вам нужно создать ключ ssh для apache, а затем добавить его к ключам только для чтения на github.
Поток что-то вроде этого (настроить под свои нужды)
usermod -s /bin/bash apache
su apache
cd ~
ssh-keygen # work through the keygen dance (added a dash)
Загрузка (тильда здесь относится к домашнему каталогу apache) ~/.ssh/id_rsa.pub
в github и предоставление доступа apache к любым репозиториям, из которых необходимо извлечь.
Затем вы можете протестировать на сервере, снова su , подключаясь к apache и запустив git pull
su apache
cd ~/working-copy
git clone my-project
Как только это сработает, вы сможете запустить git pull через PHP.