¿Cómo preservar el permiso de file en git?

Me encontré con un problema que me llevó mucho time encontrar una solución y aún así no get una.

El problema que tuve fue 'DatabaseError:' bash de escribir una database de solo lectura 'cuando traté de implementar mi website a través de git a un hosting Django.

Parece que git cambiará el permiso de mis files, de 777 a 755. Pero cada vez que comprometo mi proyecto, este cambio persistirá. Sin embargo, todavía tengo que escribir algo en mi database (database sqlite).

¿Alguien tiene una sugerencia para configurar mi git para preservar el modo de permiso en cada confirmación?

En resumen, no puedes.

En más time, hay proyectos como etckeeper que pueden hacerlo automáticamente, o puedes escribir un pequeño script de anzuelo que arregla los permissions (que es probablemente cómo lo haría).

Por ejemplo, si cometes algo así:

#!/bin/sh chmod -R XXX file_or_directory/ 

Para, por ejemplo, scripts/fix_permissions/ , ejecútelo como un enlace posterior a la recepción al vincularlo en .git/hooks/post-receive en el server.