Hola.
A ver si entiendo lo que necesitan.
Tienen un git instalado sobre el cual hacen commits y desean que esos commits se integren a un servidor laravel?
O, quizás, tienen todo el proyecto laravel en un git y desean desplegar, automáticamente, el proyecto en otro servidor.
¿Cuál de las dos opciones es la correcta?
Un error 500 es un error de configuración interno del servicio al que se trata de acceder, lo que indica que el servicio tiene algún error ya sea porque le falta alguna librería, algún elemento de configuración, etc.
He trabajado con git desde hace años haciendo múltiples tareas, desde usarlo como servidor de versiones, hasta automatizarlo para hacer despliegue automático. continuo, de elementos instalados en él.
Atento para cualquier duda.