Configurar Git para ignorar los cambios en el modo de archivo

John Wachira 20 junio 2023
Configurar Git para ignorar los cambios en el modo de archivo

Este artículo analiza el paso necesario para configurar Git para ignorar los cambios de archivos (chmod). Si cambia los permisos en un archivo que Git estaba rastreando, el sistema registrará un cambio en el archivo.

Estos son los pasos a seguir para hacer que Git ignore los cambios en el modo de archivo.

Ignorar cambios en el modo de archivo en Git

Ejecute el siguiente comando dentro de su repositorio para indicarle a Git que ignore los cambios en el modo de archivo.

$ git config core.fileMode false

Puede convertirlo en su valor predeterminado agregando el indicador --global, como se muestra a continuación.

$ git config --global core.fileMode false

La práctica anterior no siempre se recomienda ya que trata exclusivamente con la parte ejecutable del modo y no con las partes de lectura/escritura.

En la mayoría de los casos, usará la configuración core.fileMode porque hizo un simple chmod -R 777 para hacer que sus archivos sean ejecutables. Recuerde que la mayoría de los archivos no son ejecutables por razones de seguridad.

El mejor método para solucionar este problema consiste en administrar los permisos de la carpeta y el archivo por separado, como se muestra a continuación.

find . -type d -exec chmod a+rwx {} \; # Make folders traversable and read/write
find . -type f -exec chmod a+rw {} \;  # Make files read/write

Esto reduce la posibilidad de usar la configuración core.fileMode en Git.

En pocas palabras, la mayoría de los archivos no son ejecutables por razones de seguridad. Tenga cuidado al usar la configuración core.fileMode.

También hemos cubierto un mejor enfoque que reduce sus probabilidades de usar la configuración core.fileMode.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn