Comparar la configuración global y local
Git tiene diferentes niveles de configuración. Ya hemos visto la configuración --global
, que se aplica a todos tus repositorios. También existe una configuración --local
, que se aplica solo al repositorio específico en el que te encuentres actualmente. Las configuraciones locales anulan las configuraciones globales para ese repositorio en particular.
Para ver la configuración local de un repositorio, debes estar dentro de un repositorio de Git y ejecutar git config --local --list
. Dado que aún no hemos creado un nuevo repositorio en este laboratorio, ejecutar este comando ahora resultará en un error.
Primero, creemos un nuevo directorio e inicialicemos un repositorio de Git dentro de él, tal como lo hiciste en el "Your First Git Lab":
mkdir my-local-repo
cd my-local-repo
git init
Deberías ver el mensaje de inicialización:
Initialized empty Git repository in /home/labex/project/my-local-repo/.git/
Ahora que estás dentro del directorio my-local-repo
, que es un repositorio de Git, puedes verificar su configuración local:
git config --local --list
Es probable que no veas salida o que la salida sea muy mínima, porque aún no se han establecido configuraciones locales para este repositorio específico.
Ahora, establezcamos una configuración local diferente a la global. Por ejemplo, establezcamos un user.name
diferente para este repositorio específico:
git config --local user.name "Local User"
Este comando establece el user.name
específicamente para el repositorio my-local-repo
.
Ahora, liste la configuración local nuevamente:
git config --local --list
Ahora deberías ver el user.name
local:
user.name=Local User
Finalmente, veamos qué sucede cuando solicitas el user.name
sin especificar --global
o --local
. Git buscará la configuración en este orden: local, global y luego del sistema. El primero que encuentre se utilizará.
Ejecuta este comando mientras todavía estás dentro de my-local-repo
:
git config user.name
Deberías ver el nombre de usuario local, porque la configuración local anula la global:
Local User
Ahora, regresa al directorio ~/project
(fuera de my-local-repo
):
cd ~/project
Y ejecuta el mismo comando nuevamente:
git config user.name
Esta vez, dado que no estás dentro de un repositorio con una configuración local, Git utilizará la configuración global:
Jane Doe
Esto demuestra cómo las configuraciones locales tienen prioridad sobre las configuraciones globales, lo que te permite tener configuraciones específicas para proyectos individuales mientras mantienes configuraciones generales para todos los demás.