👯 Trabajando con múltiples usuarios de Git

🙈 Git
🐧 Linux
📅 2023-01-20

Niveles de asignación se usuarios

  • proyecto: Las configuraciones del proyecto sólo están disponibles para el proyecto actual y se almacenan en .git/config en el directorio del proyecto.

    git config user.name "Wolfremium13"
    
  • global: Las configuraciones globales están disponibles para todos los proyectos del usuario actual y se almacenan en ~/.gitconfig.

    git config --global user.name  "Wolfremium13"
    
  • system: Las configuraciones del sistema están disponibles para todos los usuarios/proyectos y se almacenan en /etc/gitconfig.

    git config --system user.name  "Wolfremium13"
    

Es importante saber que las configuraciones más especificas como la de proyecto son las que que se aplican en vez de las globales. Lo mismo aplica al email.

Cambio automático de usuarios de Git

A partir de la versión 2.13 se añade la funcionalidad de configuraciones condicionales. Esto nos permite cambiar automáticamente de usuario sin tener que poner siempre a mano el usuario que queremos si es diferente al global.

Para añadir esta característica debemos añadir en nuestro ~/.gitconfig:

[includeIf "gitdir:~/Documents/kevin-hierro/"]
  path = .gitconfig-kevin-hierro
[includeIf "gitdir:~/Documents/lean-mind/"]
  path = .gitconfig-lean-mind

Se pueden hacer cosas más complejas, te recomiendo echarlo un ojo a la documentación oficial.

Ahora por ejemplo vamos a ver que debería contener el fichero .gitconfig-kevin-hierro que debería estar ubicado en $HOME.

[user]
    name = Wolfremium13
    email = wolfremiuminformatica@gmail.com

Conclusión

Espero que tener este post me ayude tanto a mí como a otros a realizar ese setup de git para trabajar con diferentes usuarios. Hasta ahora he pasado olímpicamente de ir cambiando y he usado siempre el global 😂.