evitar que se modifiquen los permissions de los files modificados en git

He cambiado el permiso de un file en una sucursal local para que sea rw-r – r– pero aún se puede modificar después de enviarlo a la nube, ¿hay alguna manera de evitarlo?

Supongo que quieres decir:

  • Desea que un file solo pueda ser escrito por usted, el propietario
  • Desea enviar estos files con permissions intactos a un control remoto (por ejemplo, Bitbucket Cloud o GitHub)
  • Desea que otros usuarios que clonan el repository no puedan realizar cambios en estos files, ya que originalmente los configuró para que solo los pueda editar el propietario del file, que originalmente era usted.

Hay dos problemas aquí.

  1. Git no conserva todos los cambios de permissions que establezca. Solo reconoce si ha convertido un file ejecutable en particular. En un repository git, los files comúnmente tienen solo uno de los siguientes sets de permissions: 644 (el propietario puede leer + escribir, el grupo / todos pueden leer solamente) o 755 (el propietario puede leer, escribir y ejecutar; el grupo / todos pueden leer y ejecutar solamente). No puede imponer más limitaciones de permissions ya que git simplemente no las almacenará ni las enviará al host de git remoto.
  2. Cuando como usuario clono un repository, todos los files son creados por mi count de usuario local, y ahora soy el propietario de esos files. Incluso si git rastreara estos permissions, aún así no funcionaría, porque quien haya clonado el repository posee las copys locales de esos files.

Me parece que lo que realmente quieres hacer es evitar que un usuario cambie ciertos files en el repository remoto. Dependiendo del host del repository, debería ser capaz de implementar algún tipo de gancho de pre-recepción git para rechazar empujes. Obtenga más información sobre lo que su service de hospedaje de git puede admitir aquí y debería poder implementar algo que resuelva este problema.