Introducción
En esta práctica de laboratorio, aprenderás los comandos fundamentales para gestionar un repositorio local de Git en un entorno Linux. Comenzarás inicializando un nuevo repositorio mediante git init y configurando tu identidad de usuario con git config, que son los primeros pasos esenciales para cualquier proyecto que utilice Git como sistema de control de versiones.
Tras la configuración inicial, practicarás el flujo de trabajo principal de Git. Esto incluye la creación de un nuevo archivo, su preparación para el seguimiento con git add y su guardado en el historial del repositorio con git commit. Posteriormente, modificarás el archivo, confirmarás los cambios y aprenderás a revisar el historial completo de confirmaciones utilizando el comando git log para comprender la evolución del proyecto.
Inicializar un repositorio Git y configurar los ajustes de usuario
En este paso, comenzarás inicializando un nuevo repositorio Git y configurando tu información de usuario. Un repositorio Git es un directorio donde Git rastrea los cambios de los archivos de tu proyecto. Inicializar un repositorio es el primer paso para usar Git en el control de versiones.
Tu directorio de trabajo actual es /home/labex/project. Utilizaremos este directorio para crear nuestro repositorio Git.
Primero, ejecuta el comando git init. Este comando crea un repositorio Git nuevo y vacío en el directorio actual. Lo hace creando un subdirectorio oculto llamado .git que contiene todos los archivos necesarios del repositorio.
git init
Deberías ver una salida confirmando que se ha inicializado un repositorio vacío:
Initialized empty Git repository in /home/labex/project/.git/
Ahora que el repositorio está creado, el siguiente paso es configurar tu identidad de usuario. Git utiliza esta información para asociar tu nombre y dirección de correo electrónico con cada confirmación (commit) que realices. Esto es crucial para saber quién hizo qué cambios en un proyecto colaborativo.
Utilizaremos el comando git config con el parámetro --global. El parámetro --global asegura que esta configuración se aplique a todos los repositorios Git con los que trabajes en este sistema para el usuario labex.
Ejecuta los siguientes comandos para establecer tu nombre de usuario y dirección de correo electrónico. Para esta práctica, usaremos labex como nombre de usuario y labex@example.com como correo electrónico.
git config --global user.name "labex"
git config --global user.email "labex@example.com"
Estos comandos no producen ninguna salida si se ejecutan correctamente. Para verificar que la configuración se ha establecido de forma adecuada, puedes listar todos los ajustes de configuración de Git para tu usuario:
git config --list
La salida mostrará una lista de todos los ajustes, incluyendo el user.name y user.email que acabas de configurar:
user.name=labex
user.email=labex@example.com
...
Has inicializado con éxito un repositorio Git y configurado tu identidad de usuario. Ya estás listo para empezar a añadir archivos y rastrear cambios.
Crear y confirmar el primer archivo con git add y git commit
En este paso, crearás tu primer archivo y lo confirmarás en el repositorio Git. Confirmar (committing) es el proceso de guardar una instantánea de tus cambios preparados en el historial del repositorio. Este proceso implica dos comandos principales: git add y git commit.
Primero, vamos a crear un archivo README.md sencillo. Este es un archivo común en los proyectos que proporciona información sobre los mismos. Usaremos el comando echo para crear el archivo y añadirle algo de texto. Todos los comandos deben ejecutarse en tu directorio actual, /home/labex/project.
echo "Hello, Git" > README.md
Ahora que has creado un archivo, puedes comprobar el estado de tu repositorio mediante el comando git status. Este comando te muestra el estado del directorio de trabajo y del área de preparación (staging area).
git status
La salida se verá así:
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
README.md
nothing added to commit but untracked files present (use "git add" to track)
Esta salida te indica que README.md es un "untracked file" (archivo sin seguimiento). Esto significa que Git detecta el archivo, pero aún no forma parte del historial de versiones del repositorio.
Para empezar a rastrear el nuevo archivo, debes añadirlo al área de preparación. El área de preparación es un paso intermedio donde puedes organizar un conjunto de cambios antes de confirmarlos. Usa el comando git add para preparar README.md.
git add README.md
Este comando no produce ninguna salida. Para ver qué ha sucedido, ejecuta git status de nuevo.
git status
Ahora la salida ha cambiado:
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: README.md
El archivo aparece ahora bajo "Changes to be committed" (cambios por confirmar), lo que significa que está en el área de preparación y listo para la siguiente confirmación.
Finalmente, para guardar esta instantánea en el historial de tu proyecto, utiliza el comando git commit. Es una buena práctica incluir un mensaje descriptivo con cada confirmación utilizando el parámetro -m. Este mensaje explica qué cambios se realizaron.
git commit -m "Initial commit: Added README.md"
Tras ejecutar el comando, verás un mensaje de confirmación resumiendo la operación:
[master (root-commit) <commit_hash>] Initial commit: Added README.md
1 file changed, 1 insertion(+)
create mode 100644 README.md
¡Has realizado con éxito tu primera confirmación! El archivo README.md ya forma parte oficial del historial de tu repositorio Git.
Modificar un archivo y confirmar los cambios
En este paso, aprenderás a rastrear las modificaciones de un archivo existente. Una característica clave del control de versiones es la capacidad de ver cómo evolucionan los archivos con el tiempo. Esto se logra confirmando los cambios cada vez que se actualiza un archivo.
Continuaremos trabajando con el archivo README.md en el directorio /home/labex/project. Vamos a añadirle una nueva línea de texto. Usaremos de nuevo el comando echo, pero esta vez con el operador >>, que añade contenido al final de un archivo en lugar de sobrescribirlo.
echo "This is a new line." >> README.md
Ahora que el archivo ha sido modificado, comprobemos el estado del repositorio con git status.
git status
Git informará que el archivo README.md ha sido modificado:
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: README.md
no changes added to commit (use "git add" and/or "git commit -a")
La salida muestra modified: README.md bajo "Changes not staged for commit". Esto significa que Git ha detectado el cambio, pero aún no se ha añadido al área de preparación para la próxima confirmación.
Al igual que con un archivo nuevo, debes usar git add para preparar las modificaciones. Esto le indica a Git que deseas incluir estos cambios específicos en tu próxima confirmación.
git add README.md
Nuevamente, este comando no produce salida. Ejecutemos git status una vez más para confirmar que el cambio ha sido preparado.
git status
La salida muestra ahora el archivo bajo "Changes to be committed":
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: README.md
Ahora que los cambios están preparados, puedes confirmarlos en el historial del repositorio. Usa git commit con un mensaje claro que describa la actualización.
git commit -m "Added a new line to README.md"
Verás un mensaje de confirmación para el commit:
[master <commit_hash>] Added a new line to README.md
1 file changed, 1 insertion(+)
Has modificado con éxito un archivo y confirmado los cambios. Este flujo de trabajo (modificar, preparar y confirmar) es el ciclo fundamental que utilizarás repetidamente al trabajar con Git.
Revisar el historial de confirmaciones con git log
En este paso final, aprenderás a revisar el historial de confirmaciones de tu repositorio. El comando git log es una herramienta potente que te permite ver una lista cronológica de todas las confirmaciones realizadas. Esto es esencial para entender cómo ha evolucionado un proyecto.
Desde tu directorio /home/labex/project, ejecuta el comando git log:
git log
Este comando mostrará una lista detallada de las confirmaciones que has hecho, apareciendo primero la más reciente. La salida será similar a esta:
commit <commit_hash_2> (HEAD -> master)
Author: labex <labex@example.com>
Date: <commit_date_2>
Added a new line to README.md
commit <commit_hash_1>
Author: labex <labex@example.com>
Date: <commit_date_1>
Initial commit: Added README.md
Desglosemos la información de cada confirmación:
commit: Un hash SHA-1 único de 40 caracteres que sirve como identificador de la confirmación.Author: El nombre y correo electrónico de la persona que realizó la confirmación, basándose en tu configuración de Git.Date: La marca de tiempo que indica cuándo se realizó la confirmación.- Mensaje de confirmación: El texto con sangría es el mensaje que proporcionaste con el parámetro
-m, explicando el propósito de la confirmación.
El registro se muestra en un programa paginador (como less). Puedes desplazarte hacia arriba y hacia abajo usando las teclas de flecha. Para salir de la vista del historial y volver a la terminal, simplemente presiona la tecla q.
Para una vista más compacta del historial de confirmaciones, puedes usar el parámetro --oneline. Esto es útil para obtener un resumen rápido.
git log --oneline
La salida será mucho más corta, mostrando solo el hash corto y el mensaje de confirmación en una sola línea por cada commit:
<short_hash_2> (HEAD -> master) Added a new line to README.md
<short_hash_1> Initial commit: Added README.md
¡Enhorabuena! Has aprendido el flujo de trabajo básico para inicializar un repositorio Git, añadir y confirmar archivos, y revisar el historial del proyecto.
Resumen
En esta práctica de laboratorio, has aprendido los pasos fundamentales para gestionar un repositorio local de Git en un entorno Linux. Comenzaste inicializando un nuevo repositorio en un directorio de proyecto mediante el comando git init. Tras la inicialización, configuraste los ajustes de usuario esenciales, específicamente tu nombre de usuario y correo electrónico, con el comando git config --global para asegurar que todas las futuras confirmaciones se atribuyan correctamente. Luego, practicaste el flujo de trabajo principal del control de versiones creando un nuevo archivo, preparándolo para la siguiente confirmación con git add y registrando permanentemente los cambios en el historial del repositorio mediante git commit.
Además, practicaste el proceso iterativo de realizar y rastrear cambios. Esto implicó modificar un archivo existente y repetir el ciclo de preparación y confirmación con git add y git commit para guardar la nueva versión. Finalmente, aprendiste a revisar el historial del proyecto utilizando el comando git log, que muestra una lista cronológica de todas las confirmaciones, incluyendo sus identificadores únicos, autores, fechas y mensajes descriptivos. Esto proporcionó una visión clara de los cambios realizados en el repositorio a lo largo del tiempo.



