Configuración Inicial de GIT
Introducción
Los comandos de configuración inicial de Git permiten establecer parámetros globales que definen cómo Git interactúa con el usuario y cómo se registran los cambios en los repositorios. Estos comandos suelen configurarse al instalar Git por primera vez y son esenciales para garantizar un correcto funcionamiento del sistema de control de versiones.
A continuación, se explican los comandos de configuración inicial más importantes, cuándo deben utilizarse y cómo aplicarlos correctamente.
Configuración el Nombre y el Correo del Usuario
Estos parámetros son cruciales porque GIT los usa para etiquetar los commits, permitiendo identificar quién hizo los cambios en un proyecto.
git config --global user.name "Nombre del usuario"
git config --global user.email "Semail@ejemplo.com"
--global: Aplica la configuración a nivel global, es decir, a todos los repositorios en el equipo. Si se desea establecer un nombre y correo específicos para un solo repositorio en particular, se puede omitir --global:
git config user.name "Otro Nombre"
git config user.email "otro_email@ejemplo.com"
¿Cuándo es Necesario Ejecutar estos Comandos?
- Después de instalar Git: Es recomendable configurarlos inmediatamente tras instalar Git en el equipo.
- Cuando se usa una computadora compartida: Si varias personas utilizan la misma máquina, cada usuario debe asegurarse de establecer su propia identidad en Git.
- Al alternar entre identidades: Si se usa Git para proyectos personales y laborales, es útil cambiar el nombre y el correo según el contexto.
Configuración del Editor por Defecto
En algunos casos Git puede pedir que se edite mensajes de commit o archivos de configuración. Es útil configurar el editor de texto preferido para estas tareas.
git config --global core.editor "nombre-del-editor"
// para VSCode
git config --global core.editor "code --wait"
// VIM (valor por defecto)
git config --global core.editor "vim"
// Atom
git config --global core.editor "atom --wait"
// nano
git config --global core.editor "nano"
// Sublime Text
git config --global core.editor "subl -n -w"
Se debe estar seguro de que el editor que se elije esté correctamente instalado y accesible desde la línea de comandos. Si el comando para abrir tu editor incluye espacios, colocar el nombre del editor entre comillas dobles, como se muestra en los ejemplos.
Configuración de los Colores de Texto la Terminal
Configurar Git para que use colores en la terminal, lo que hace más fácil leer los mensajes y distinguir diferentes tipos de información.
Se usa principalmente para mejorar la legibilidad de los mensajes en la terminal.
git config --global color.ui auto
Configuraciones Específicas de Color
Además, se pueden personalizar colores para distintas secciones de los mensajes en Git:
# Colorea la salida de 'git status'
git config --global color.status auto
# Colorea la salida de 'git diff'
git config --global color.diff auto
# Colorea la salida de 'git branch'
git config --global color.branch auto
# Colorea las opciones en el modo interactivo
git config --global color.interactive auto
Personalización Avanzada de Colores
Si se desea personalizar los colores con más detalle, se pueden definir colores específicos. Por ejemplo:
# Archivos añadidos en verde y negrita
git config --global color.status.added "green bold"
# Archivos modificados en amarillo y negrita
git config --global color.status.changed "yellow bold"
# Archivos no rastreados en rojo y negrita
git config --global color.status.untracked "red bold"
Para ver todas las opciones de colores disponibles, se puede consultar la documentación de Git con:
git help config
Verificación de la Configuración
Para comprobar la configuración de colores en Git, se puede ejecutar:
git config --global --list | grep color
Configuración del Método de Fusión
Se puedes especificar cómo Git debe manejar las fusiones de archivos.
git config --global merge.tool "nombre-del-herramienta-de-fusión"
Los nombre-del-herramienta-de-fusión pueden ser:
- vimdiff: Utiliza Vim en modo de diferencia.
- meld: Una herramienta gráfica popular para comparar y fusionar archivos.
- kdiff3: Otra herramienta gráfica para la comparación y fusión de archivos.
- tortoisemerge: Parte de TortoiseGit, una interfaz de usuario para Git en Windows.
- p4merge: Herramienta de Perforce para la comparación y fusión de archivos.
- bc: Beyond Compare, una herramienta comercial de comparación de archivos.
- opendiff: Utiliza FileMerge de Apple (disponible en macOS).
- diffmerge: Otra herramienta gráfica para la comparación y fusión de archivos.
- araxis: Araxis Merge, una herramienta comercial de comparación y fusión de archivos.
- emerge: Herramienta de fusión de Emacs
Además, se puede configurar opciones adicionales específicas para cada herramienta, si es necesario. Consultar la documentación de GIT o de la herramienta de fusión específica para obtener más detalles sobre configuraciones adicionales.
Configuración de Alias
Los alias se utilizan para abreviar comandos largos o complicados, facilitando y agilizando su uso.
git config --global alias.st status
git config --global alias.co checkout
En este ejemplo, ambos comandos producen el mismo resultado.
git st
git status
Alias de Git Más Usados
Alias para comandos básicos
# Muestra el estado del repositorio
git config --global alias.st status
# Cambia de rama o restaura archivos
git config --global alias.co checkout
# Lista, crea o elimina ramas
git config --global alias.br branch
# Realiza un commit
git config --global alias.cm commit
# Clona un repositorio
git config --global alias.cl clone
# Muestra los cambios entre commits o archivos
git config --global alias.df diff
# Proporciona un historial gráfico simplificado de commits.
git config --global alias.logg "log --oneline --graph --decorate --all"
Alias para Agregar y Confirmar Cambios
# Añade todos los cambios al área de preparación
git config --global alias.ad "add ."
# Añade y confirma cambios en un solo paso
git config --global alias.ca "commit -am"
# Modifica el último commit sin cambiar el mensaje
git config --global alias.cane "commit --amend --no-edit"
En Git, cuando se define un alias que incluye más de una palabra, se deben usar comillas para encapsular el comando completo.
Alias para Manejar Ramas
# Crea y cambia a una nueva rama
git config --global alias.ck "checkout -b"
# Fusiona ramas
git config --global alias.mg "merge"
# Reorganiza commits con rebase
git config --global alias.rb "rebase"
# Cancela un rebase en curso
git config --global alias.rba "rebase --abort"
# Continúa un rebase tras resolver conflictos
git config --global alias.rbc "rebase --continue"
Alias para Trabajar con Remotos
# Envía cambios al repositorio remoto
git config --global alias.pu "push"
# Obtiene cambios del remoto
git config --global alias.pl "pull"
# Descarga cambios sin fusionarlos y elimina ramas remotas eliminadas
git config --global alias.fu "fetch -p"
El alias fu
es útil para limpiar referencias a ramas eliminadas en el remoto.
Alias para Reiniciar y Limpiar Cambios
# Revierte el último commit manteniendo los cambios
git config --global alias.undo "reset --soft HEAD~1"
# Borra cambios no confirmados
git config --global alias.clean "reset --hard HEAD"
# Quita archivos del área de preparación sin eliminar cambios
git config --global alias.unstage "reset HEAD --"
Útil para corregir errores sin perder trabajo.
Alias Avanzados
git config --global alias.lg "log --graph --decorate --oneline --all"
git config --global alias.last "log -1 HEAD"
git config --global alias.who "shortlog -sn --all"
Estos alias ayudan a visualizar el historial de commits de manera rápida y efectiva.
Cómo Ver los alias Configurados
Para ver la lista completa de alias configurados en Git, usar:
git config --global --list | grep alias
Ver la configuración
Comando utilizado para mostrar todas las configuraciones que GIT tiene actualmente. Esto incluye ajustes como nombre de usuario, correo electrónico, alias y más. Es un comando útil para revisar la configuración de GIT de un vistazo.
git config --list
Estos comandos de configuración inicial se usan generalmente una sola vez cuando se configura GIT por primera vez en un nuevo entorno, pero también pueden ser ajustados en cualquier momento si cambian las preferencias o necesidades. Recordar que el uso del flag --global
hace que estas configuraciones se apliquen a nivel global para todos los repositorios guardados en la máquina. Si se necesita configurar algo específico para un solo repositorio, puedes omitir el flag --global
y GIT aplicará la configuración solo en el repositorio actual.