Acaba de convertir un some.sh
archivo en un ejecutable ( chmod 755 ...
), los permisos se actualizaron pero no el contenido. ¿Hay alguna manera de confirmar el archivo en git, para que el bit ejecutable se restaure / establezca en clone / checkout / pull ?
Actualización: ¿cómo puedo hacer un seguimiento de que se enviaron los nuevos permisos github
?
github
?git status
, veo cambios ...El artículo de @fooMonster funcionó para mí
Como puede ver, el archivo tiene permiso 644 (ignorando los 100). Nos gustaría cambiarlo a 755:
cometer los cambios
fuente
git commit -a
no hizo nada por mí, sin embargo, configurar el mensaje en la línea de comando lo hizo. Un poco peculiar# git update-index --chmod=+x script.sh
# git ls-tree HEAD
# git commit -m "Changing file permissions"
# git push
No funciona para mi
El modo es verdadero, los permisos del archivo han cambiado, pero git dice que no hay trabajo que hacer.
El problema parece ser que git reconoce solo ciertos cambios de permisos.
fuente
git
realmente solo rastrea si un archivo es ejecutable o no, no el conjunto completo de permisos * nix. Entonces tendría que cambiar un archivo entre ejecutable / no para que piense que ha cambiado algo que vale la pena cometer ...post-checkout
enlacegit
, que cubriría algunos casos, pero no estoy seguro de si eso cubriría todas las cosas posibles que actualizan los archivos en su árbol de trabajo. Puede que sea mejor tener un script de shell adicional en su repositorio que establezca las cosas en consecuencia. Por otra parte, hay un par de proyectos por ahí que aumentangit
al repositorio de metadatos, pero nunca he probado ninguno de ellos ...git update-index --refresh
, pero se muestra la diferenciaold mode 100644 new mode 100755
. No actualizó todos los permisos