Em vez de executar comandos shell a partir do seu aplicativo PHP, sugiro que você comece a escrever seu aplicativo da web para usar o Git programaticamente usando uma biblioteca de ligação do PHP-Git. Por exemplo, php-git .
Isso tem muitas vantagens, como não ter que analisar a saída da linha de comando, o que pode mudar em uma versão futura do Git.
Sobre as permissões do sistema de arquivos, basta efetuar login no servidor no qual o servidor de aplicativos PHP está em execução (por exemplo, su -l www-data -s /bin/bash
em sistemas baseados no Debian) e criar um par de chaves pública / privada para esse usuário. Mantenha toda a propriedade do arquivo para o usuário da web para esse clone do repositório.