Integración de la funcionalidad de control de versiones de git en un website

Estoy construyendo un website actualmente con una página para upload imágenes. Las imágenes se uploadán a un repository y se cambiarán de nombre automáticamente en function del campo de input al que se haya cargado.

El repository se encuentra actualmente bajo el control de la versión a través de git, y lo que estoy haciendo es hacer que todo el process sea mucho más fácil en los PM no técnicos. Por lo tanto, debo poder extraer, agregar, comprometer y enviar todo a través de la interfaz web que he creado. ¿Hay alguna manera de hacerlo en un website HTML5? Estoy usando PHP en el back-end y un montón de scripts de JQuery para cargar los files (aunque todavía estoy trabajando en esa parte, parece que todavía no puedo resolverlo por completo).

El website debería:

  • git push
  • git pull
  • git agregar
  • git commit
  • git checkout para restablecer los files cargados
  • ^^^^^ esos deberían hacerse gráficamente (a través de un button html)
  • salida la salida de la console git
  • cargar imágenes del repository siempre que se presione "git pull"
  • detectar si otro usuario ha hecho un push mientras el usuario actual está actualizando su set de files

¿Hay alguna forma de enviar una señal al server para ejecutar commands git en el repository?

Shell_exec de PHP le permitirá ejecutar commands arbitrarios en el shell, aunque algo como http://pear.php.net/package/VersionControl_Git proporcionará una mejor interfaz / más segura.