¿Cómo se evita que un usuario se comprometa con un submodule en git?

Supongamos que tiene un proyecto principal y un submodule.

Hay un usuario que tiene permiso de lectura / escritura para el proyecto principal pero solo lee el permiso para el submodule.

¿Cómo impide que el usuario haga un cambio en el submodule y lo comprometa y luego, posteriormente, confirma y envía la reference actualizada a este nuevo compromiso en el proyecto principal?

El usuario no podrá enviar sus cambios al submodule ya que no tienen permiso. Cuando otro usuario retire el proyecto principal, tendrá una reference a una confirmación de submodule que no se ha enviado al server.

Hay dos soluciones:

  1. dile a tu usuario que use la nueva --recurse-submodules=check cuando presionas
  2. o configure un gancho del lado del server que compruebe la nueva comprobación del submodule, en esta respuesta