Git deshabilita empujar desde el repository local

Tengo un repository con algún código central, y para cada cliente deseo clonarlo para poder hacer git pull cada vez que un cliente quiera actualizar a la funcionalidad más nueva.

Con el interés de no arruinar las cosas y hacer cambios que solo una compañía ve, ¿hay alguna manera de permitir solo las recuperaciones en un repository local? Todavía deseo poder impulsar los cambios en el repository central desde mi entorno de desarrollo, pero no quiero que las máquinas de producción puedan empujar.

Especifique un pushurl no existente en la sección remota del repository clon-source (llamado origen) en el file .git/config . Ejemplo:

 [remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = <url> pushurl = www.non-existing-url.com 

O si no te gusta editar el file de configuration del repository, puedes escribir:

 $ git config remote.origin.pushurl www.non-existing.com 

Al presionar obtendrá un post de error como:

 $ git push fatal: 'www.non-existing-url.com' does not appear to be a git repository fatal: The remote end hung up unexpectedly 

Por supuesto, necesitará editar el file de configuration de cada repository clonado.

Encuentro que el command remoto es más útil, así que no tengo que meterme con las configuraciones directamente.

 git remote set-url --push origin www.non-existing-url.com 

debería funcionar tan bien