#1 desde el servidor web puedes hacer pushes a un remoto. Git es distribuído, por lo que es tan servidor el repositorio de tu casa como el de GitHub. Ni siquiera el de GitHub es un servidor central/autoritativo/maestro. Todos los repositorios para un proyecto son "hermanos" (aunque vivan en lineas temporales paralelas.)
Por lo que he entendido que quieres hacer, podrías también tener un remoto en tu propio servidor web, así desde web puedes hacer los commits sobre el servidor y luego pushearlo al remoto que te venga bien. De hecho uno de los servidores cloud que he usado, para hacer los deploys, no es más que un remoto Git cuyo "master" es producción.
Lo de que tu herramienta haga los commits automáticos es MALO. Ni lo pienses (no tengo tiempo para explicar por qué, pero piensa que la herramienta es "tonta" y grabaría cualquier pequeño cambio por lo que acabarías inundado de commits.) Aparte de que los commits deben ser auto-contenidos, es decir, si planto un commit debe llevar todos los cambios necesarios para X, no hacer 10 commits que juntos hagan X (por comodidad, si la has cagado, ¡sólo tienes que deshacer un commit! Menos problemático y más fácil de seguir la historia temporal de tu proyecto.)
No entiendo muy bien qué quieres hacer de todas formas, ¿puedes expresarlo como un diagrama de flujo/pasos-1-2-3 o algo así? Lo de que Git sea distribuído da mucha libertad, así que a lo mejor si lo explicas un poco más detallado podemos dar con un workflow que se ajuste a tu forma de trabajar. Creo que estás intentando hacer un workflow inverso, lo mejor sería que tu remoto en el servidor web sea el que hace coincider master con producción.
Y sobre todo, ¿por qué desarrollar en el server?