Seguimiento de configuraciones con Git

GitBeginner
Practicar Ahora

Introducción

Los administradores de sistemas Linux suelen editar archivos de configuración con frecuencia. Git resulta muy útil en este ámbito, ya que permite registrar qué cambió, cuándo cambió y por qué. Incluso cuando no se requiere un flujo de trabajo de infraestructura completo, un pequeño repositorio de Git puede ayudarle a realizar un seguimiento de los cambios de configuración locales antes y después de una edición.

En este laboratorio, realizará el seguimiento de un pequeño archivo de configuración llamado app.conf dentro de /home/labex/project. Inicializará un repositorio de Git, configurará la identidad del autor local, creará un commit inicial, editará el archivo, inspeccionará las diferencias (diff) y creará un segundo commit. El laboratorio utiliza el historial de Git como un registro duradero de los cambios de configuración.

Inspeccionar el archivo de configuración

En este paso, inspeccionará el archivo que Git va a rastrear. Antes de crear un repositorio, asegúrese de saber qué archivo es importante y cuál es su contenido actual.

Acceda al directorio del proyecto LabEx.

cd /home/labex/project

Liste el archivo de configuración. La opción -l muestra metadatos como el tamaño, el propietario y los permisos.

ls -l app.conf

Lea el archivo. Esta configuración utiliza líneas simples de tipo key=value, las cuales son comunes en la configuración de aplicaciones de Linux.

cat app.conf

Debería ver log_level=info. Más adelante cambiará solo ese ajuste para que el diff de Git se mantenga enfocado.

Inicializar un repositorio local de Git

En este paso, convertirá /home/labex/project en un repositorio de Git. Un repositorio de Git almacena el historial en un directorio oculto llamado .git. Git también necesita un nombre de autor y un correo electrónico antes de poder crear commits. En un entorno de trabajo real, esto podría configurarse de forma global, pero en los laboratorios es más seguro configurar la identidad solo para este repositorio.

Inicialice el repositorio. La opción -b main crea la rama inicial con el nombre explícito main, lo que evita que Git muestre una advertencia sobre la rama predeterminada.

git init -b main

Establezca la identidad del autor local. El ámbito --local almacena estos valores solo en este repositorio. El tercer comando deshabilita la salida a color de Git dentro de este repositorio de laboratorio para que la salida de status, diff y log sea más fácil de leer en una terminal de navegador.

git config --local user.name "LabEx Learner"
git config --local user.email "learner@example.com"
git config --local color.ui false

Ejecute git status --short. El archivo debería aparecer como no rastreado (untracked) porque Git lo ve pero aún no está realizando su seguimiento. En la salida corta de estado, ?? significa que el archivo no está rastreado.

git status --short

Confirmar la configuración inicial

En este paso, creará el primer commit. Git tiene dos áreas principales que debe comprender en este punto: el árbol de trabajo (working tree) y el área de preparación (staging area). El árbol de trabajo son los archivos que usted ve y edita. El área de preparación es el conjunto de cambios que se incluirán en el siguiente commit.

Prepare (stage) solo el archivo de configuración. Evite usar git add . mientras está aprendiendo, ya que puede preparar accidentalmente archivos no relacionados.

git add app.conf

Verifique el estado corto nuevamente. A significa que el archivo está preparado como un archivo nuevo.

git status --short

Cree el primer commit con un mensaje claro.

git commit -m "Track initial app configuration"

Inspeccione el historial reciente. --oneline mantiene la salida compacta. La opción --no-pager imprime el registro directamente en la terminal en lugar de abrir un visor interactivo.

git --no-pager log --oneline

Revisar y confirmar un cambio de configuración

En este paso, editará la configuración e inspeccionará el cambio antes de confirmarlo. Este es el hábito fundamental de Git para el seguimiento de configuraciones: realizar un cambio específico, revisar el diff y luego confirmarlo con un mensaje que explique la intención.

Cambie log_level de info a debug. El comando sed -i edita el archivo directamente. El patrón comienza con ^ y termina con $ para que solo cambie la línea completa log_level=info.

sed -i 's/^log_level=info$/log_level=debug/' app.conf

Muestre la diferencia entre la versión confirmada y su árbol de trabajo. --no-pager mantiene el diff directamente en la terminal.

git --no-pager diff -- app.conf

El diff debería mostrar una línea eliminada y una línea añadida:

-log_level=info
+log_level=debug

Prepare y confirme el cambio específico.

git add app.conf
git commit -m "Enable debug logging"

Vea el historial compacto nuevamente. Ahora debería ver dos commits.

git --no-pager log --oneline

Finalmente, verifique que el árbol de trabajo esté limpio para app.conf.

git status --short app.conf

Resumen

Ha practicado las operaciones básicas de Git para el seguimiento de configuraciones en Linux. Inspeccionó un archivo de configuración, inicializó un repositorio, configuró la identidad del autor local, verificó el estado, preparó un archivo específico, creó un commit inicial, revisó un diff enfocado y confirmó un cambio de configuración. Estos hábitos ayudan a los administradores a comprender y recuperar cambios de configuración en lugar de editar archivos a ciegas.