El comando git config
nos ayuda a configurar la variables que nos permite controlar el aspecto y funcionamiento de GIT, tanto nivel local de ese repositorio en cuestion, como la configuración de git de toda la maquina, en definitiva a nivel local o global.
Si la configuración es global este comando modifica el .gitconfig en tu home, sino .git/config se crea en tu repositorio local de tu proyecto.
Listar configuracion actual
git config --list
Nos muestra toda la configuracion , tanto local como global.
Si quisieramos solo ver uno u otra, añadimos --global
o --list
Como evitar que controle los cambios de permisos en los ficheros.
Git por defecto si cambiamos los permisos de un fichero , este ya entiende que se cambio el el fichero, que parece correcto por defecto.
La cuestión es que como cambiar esto, para proyectos que nos interesa.
git config core.fileMode false
Ejecutando esta instrucción deja de controlar esos cambios para el repositorio actual.
Si quisieras que hacer que la configuración se para toda la maquina donde tienes instalado git, entonces:
git config --global core.fileMode false
Ahora todos los proyectos en los que tengas GIT de esa maquina ya no controlar los cambios de permiso.
[CONTINUARÉ]
Anotaciones a lo bruto, como configurar nuestra herramienta que muestre las diferencias
git config diff.tool diffuse
cat .git/config
Respuesta:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[diff]
tool = diffuse
Entonces ahora si hacemos .
git difftool --cached
Respuesta:
Viewing (1/1): 'a.txt'
Launch 'diffuse' [Y/n]?
Si queremos que nos pregunte, entonces al configurar:
git config difftool.prompt false
cat .git/config
Respuesta:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[diff]
tool = diffuse
[difftool]
prompt = false
git difftool --cached
The diff tool diffuse is not available as 'diffuse'
fatal: diff externo murió, deteniendo en a.txt
Nuestro experto en git @Guillermo