sincronizar setup servidor repositorio permisos for configuracion con git

setup - Actualizando y comprometiendo solo los permisos de un archivo usando el control de versión git



sincronizar git con servidor (3)

El artículo de @fooMonster funcionó para mí

# git ls-tree HEAD 100644 blob 55c0287d4ef21f15b97eb1f107451b88b479bffe script.sh

Como puede ver, el archivo tiene 644 permisos (ignorando los 100). Nos gustaría cambiarlo a 755:

# git update-index --chmod=+x script.sh

cometer los cambios

# git commit -m "Changing file permissions" [master 77b171e] Changing file permissions 0 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 script.sh

Simplemente convertí un archivo some.sh en un archivo ejecutable ( chmod 755 ... ), los permisos se actualizaron pero no el contenido. ¿Hay alguna forma de convertir el archivo en git para que el bit ejecutable se restaure / configure en clone / checkout / pull ?

Actualización: ¿cómo puedo rastrear que los nuevos permisos fueron enviados a github ?


No funciona para mi

El modo es verdadero, las permanentes del archivo se han cambiado, pero git dice que no hay trabajo que hacer.

git init git add dir/file chmod 440 dir/file git commit -a

El problema parece ser que git solo reconoce ciertos cambios de permisos.


Por defecto, git actualizará los permisos de archivos si los cambia.

Si no ve ningún cambio al modificar el permiso, probablemente tenga una configuración en git que ignore el modo de archivo.

Mire en su proyecto, en la carpeta .git para el archivo de config y debería ver algo como esto:

[core] filemode = false

Puede cambiarlo a true en su editor de texto favorito o ejecutar:

git config core.filemode true

Entonces, debería poder enviar normalmente sus archivos. Solo comprometerá los cambios de permiso.