← Git

Fundamentos de Git

¿Cómo configuras tu nombre y correo en Git, y para qué sirven?

Ver respuesta — intenta responderla en voz alta primero

Con git config user.name y git config user.email. Sirven para firmar tus commits: cada commit guarda quién lo hizo. Con la bandera --global la configuración aplica a todos tus repositorios; sin ella, solo al repositorio actual.

Antes de hacer tu primer commit, Git necesita saber quién eres, porque cada commit registra un autor (nombre y correo). Esto es lo que aparece en el historial y en plataformas como GitHub.

  • --global: guarda la configuración para tu usuario, en todos los repositorios de tu máquina. Es lo que se hace una sola vez al instalar Git.
  • Sin --global (o con --local): aplica solo al repositorio en el que estás. Útil si en un proyecto quieres usar un correo distinto (por ejemplo, el del trabajo).

El correo importa porque GitHub asocia los commits a tu cuenta según el correo configurado.

# Configuración global (una vez por máquina)
git config --global user.name "Tu Nombre"
git config --global user.email "tucorreo@ejemplo.com"

# Ver toda la configuración actual
git config --list
# Muestra user.name, user.email y más

# Ver un valor concreto
git config user.email
# tucorreo@ejemplo.com

# Configuración solo para el repo actual (sobrescribe la global aquí)
git config user.email "correo-del-trabajo@empresa.com"

# Configurar la rama por defecto al iniciar repos nuevos
git config --global init.defaultBranch main

Olvidar configurar el correo y que los commits salgan con un autor incorrecto o "no verificado" en GitHub. También es común confundir los niveles: si pones algo con --global esperando que aplique solo a un proyecto, o al revés. La regla: la config local (del repo) tiene prioridad sobre la global.

"Con git config user.name y git config user.email configuro quién soy, porque cada commit guarda al autor. Con --global aplica a todos mis repos, que es lo que hago al instalar Git; sin --global aplica solo al repo actual, útil si necesito otro correo para un proyecto del trabajo. La config local tiene prioridad sobre la global. El correo importa porque GitHub asocia los commits a mi cuenta según ese correo."

Reto rápido

Tienes user.email global como personal@correo.com, pero en un repo del trabajo ejecutaste git config user.email trabajo@empresa.com. ¿Con qué correo se firman los commits en ese repo?

Ver respuesta

Con trabajo@empresa.com. La configuración local (la del repo) tiene prioridad sobre la global. En cualquier otro repositorio se seguiría usando personal@correo.com, porque esa configuración local solo aplica al repo donde la definiste.