Configurar email diferente por proyecto en Git

Si trabajas en múltiples proyectos con diferentes cuentas de correo (personal, trabajo, clientes), es útil configurar un nombre y email específico para cada repositorio. Esto asegura que tus commits siempre tengan la información correcta según el contexto del proyecto

¿Por qué es útil?

Cuando trabajas con proyectos personales y profesionales, necesitas que cada commit use el email correcto:

  • Proyectos personales: tu email personal
  • Proyectos del trabajo: tu email corporativo
  • Proyectos de clientes: el email específico del cliente

En lugar de cambiar manualmente la configuración cada vez, puedes automatizarlo

Configuración paso a paso

1. Crear un archivo .gitconfig en cada proyecto

En la raíz de cada proyecto, crea un archivo .gitconfig con la información específica:

# .gitconfig en la raíz del proyecto
[user]
    name = Alberto Rivas
    email = alberto@albrivas.com

2. Referenciar los archivos en la configuración global de Git

Edita tu archivo principal de Git (ubicado en ~/.gitconfig o /Users/tu-usuario/.gitconfig) y añade referencias condicionales:

[includeIf "gitdir:/Users/albertorivas/Documents/Proyectos/Android/GasGuru/"]
    path = /Users/albertorivas/Documents/Proyectos/Personal/GasGuru/.gitconfig

[includeIf "gitdir:/Users/albertorivas/Documents/Proyectos/Personal/pictoplate-flutter/"]
    path = /Users/albertorivas/Documents/Proyectos/Personal/pictoplate-flutter/.gitconfig

Importante: Asegúrate de que las rutas terminen con / para que Git las reconozca correctamente

3. Verificar la configuración

En la raíz de cada proyecto, ejecuta estos comandos para comprobar que se está usando la configuración correcta:

git config user.name
git config user.email

Deberías ver el nombre y email específicos que configuraste para ese proyecto

Ventajas

  • Automatización: No necesitas recordar cambiar la configuración manualmente
  • Sin errores: Cada commit usa automáticamente la identidad correcta
  • Organización: Mantén separadas tus identidades personal y profesional
  • Flexibilidad: Puedes tener tantas configuraciones como proyectos necesites

Consejos adicionales

  • Puedes usar patrones con comodines para aplicar la misma configuración a múltiples proyectos en una carpeta:

    [includeIf "gitdir:~/Documents/Trabajo/**/"]
        path = ~/.gitconfig-trabajo
    
  • No olvides añadir .gitconfig a tu .gitignore global si contiene información sensible que no quieres compartir

Con esta configuración, tus commits siempre tendrán la información correcta sin intervención manual

Alberto Rivas

© 2025 albrivas

GitHub