Por Anónimo (no verificado) , 29 Abril 2026

Sinopsis

git config [--global | --system | --local] <key> [<value>]
git config --list
git config --edit

Descripción

El comando git config lee y escribe valores en los archivos de configuración de Git. Hay tres ámbitos: system (/etc/gitconfig), global (~/.gitconfig) y local (.git/config). Los más específicos sobrescriben a los más generales.

Los usos comunes incluyen configurar identidad (user.name, user.email), aliases, predeterminados de pull/push y configuración de credenciales. git config --list --show-origin muestra todos los valores efectivos y de qué archivo vienen.

En el uso diario, este comando se integra estrechamente con alias de shell, plugins de editor e integración continua. Los usuarios avanzados a menudo añaden alias que combinan los flags que siempre pasan. El formato de salida puede personalizarse vía configuración de Git. Cuando algo sale mal, ejecuta el comando con GIT_TRACE=1 para revelar las llamadas plumbing subyacentes.

Entender cómo este comando interactúa con el resto del modelo de datos de Git rinde dividendos. Cada comando opera sobre algún subconjunto de las piezas (objetos, index, refs, árbol de trabajo), y saber cuáles toca ayuda a predecir resultados y a recuperarse de errores.

Opciones comunes

OpciónDescripción
--globalOperate on per-user config.
--systemOperate on system-wide config.
--localOperate on the current repo's config (default if in a repo).
--listShow all settings.
--editOpen the chosen config in your editor.
--unsetRemove a setting.
--addAdd a value to a multi-valued key.
--show-originAnnotate output with the file each setting comes from.

Ejemplos

git config --global user.name "Jane Smith"
git config --global user.email "[email protected]"
# Identity for every repo

git config --global init.defaultBranch main
git config --global pull.rebase true
git config --global core.editor "code --wait"
# Sensible modern defaults

git config --global alias.lg "log --oneline --graph --decorate --all"
# Custom alias

git config --list --show-origin
# Audit where each setting comes from

Errores comunes

Setting global config that's meant to be local (or vice versa) leads to confusing behavior. Forgetting to set user.email on a fresh machine causes every commit to be unattributed. Use conditional includes ([includeIf "gitdir:~/work/"]) to swap identities per directory.

Comandos relacionados

git credential, git init, git remote