"Si tú no trabajas por tus sueños, alguien te contratará para que trabajes por los suyos”

Steve Jobs

Afiliado
Dominios3Euros

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