Tu primer laboratorio de Git

GitBeginner
Practicar Ahora

Introducción

¡Bienvenido a tu primer y emocionante viaje al mundo de Git! Si alguna vez has deseado poder viajar en el tiempo para corregir un error en tu trabajo, o si te ha costado llevar el control de los cambios en tus proyectos, estás de suerte. Git es como una máquina del tiempo para tu código y documentos, y al final de este laboratorio, ¡tendrás el poder de controlarla!

No te preocupes si nunca has oído hablar de Git; empezaremos desde lo más básico y te guiaremos en cada paso. Al terminar este laboratorio, entenderás cómo crear un repositorio de Git, rastrear cambios y realizar "commits" (puntos de guardado). Estas son las habilidades fundamentales que los desarrolladores de todo el mundo utilizan a diario para crear software increíble. ¡Comencemos nuestra aventura!

Este es un Laboratorio Guiado, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y ganar experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel intermedio con una tasa de finalización del 79%. Ha recibido una tasa de valoraciones positivas del 100% por parte de los alumnos.

Creando tu laboratorio secreto

Antes de sumergirnos en Git, vamos a configurar un espacio de trabajo. Piensa en esto como la creación de un laboratorio secreto donde se llevarán a cabo todos tus experimentos.

Abre tu terminal

Abre tu terminal (¡no te preocupes, no asusta tanto como parece!) y escribe estas palabras mágicas:

cd ~/project
mkdir my-time-machine
cd my-time-machine

Esto es lo que hace cada uno de estos "hechizos":

  1. cd ~/project: Te teletransporta a tu carpeta de proyectos.
  2. mkdir my-time-machine: Crea una nueva carpeta llamada "my-time-machine".
  3. cd my-time-machine: Te introduce dentro de tu nuevo laboratorio secreto.

¡Felicidades! Acabas de crear un espacio para tu primer proyecto de Git. Pero, ¿por qué necesitamos esta carpeta especial? Bueno, en el mundo de la programación, mantener el trabajo organizado es crucial. A medida que tus proyectos crezcan, agradecerás tener un espacio dedicado para cada uno.

Inicializando tu máquina del tiempo (Repositorio Git)

Ahora que tenemos nuestro laboratorio secreto, ¡es hora de construir nuestra máquina del tiempo! En el mundo de la programación, llamamos a esta máquina del tiempo "repositorio Git".

Escribe este comando en tu terminal:

git init

Deberías ver un mensaje como este:

Initialized empty Git repository in /home/labex/project/my-time-machine/.git/

¡Vaya! ¡Acabas de crear tu propia máquina del tiempo! Pero, ¿por qué necesitamos una máquina del tiempo para nuestro código?

Imagina que estás escribiendo una historia. Quizás quieras probar diferentes finales, o tal vez borres accidentalmente un párrafo que te gustaba mucho. Sin Git, tendrías que guardar manualmente diferentes versiones de tu historia, terminando con archivos como "historia_final.txt", "historia_final_v2.txt", "historia_final_ESTA_SI_ES_LA_BUENA.txt". ¿Te suena familiar?

Git soluciona este problema. Te permite guardar diferentes versiones de tu trabajo sin crear múltiples archivos. Puedes volver fácilmente atrás en el tiempo a cualquier versión anterior, o crear líneas temporales alternativas (las llamamos "ramas" o "branches") para experimentar con diferentes ideas. Por esto los desarrolladores aman Git: les da la libertad de experimentar sin miedo a perder su trabajo.

Comprobando el estado de tu máquina del tiempo

Ahora que tenemos nuestra máquina del tiempo, veamos qué puede decirnos. En Git, hacemos esto con el comando git status. Es como preguntarle a tu máquina del tiempo: "¿Qué está pasando ahora mismo?".

Pruébalo:

git status

Deberías ver algo como esto:

On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)

Esto puede parecer un poco confuso, pero vamos a desglosarlo:

  • "On branch master": Piensa en una rama como una línea temporal. "master" es la línea temporal principal de tu proyecto.
  • "No commits yet": Un commit es como un punto de guardado en un videojuego. Aún no hemos creado ningún punto de guardado.
  • "nothing to commit": No hay cambios que Git deba registrar porque aún no hemos creado ningún archivo.

Tal vez te preguntes: "¿Por qué necesitamos todo esto solo para guardar archivos?". ¡Gran pregunta! A diferencia del guardado normal, Git te permite guardar múltiples versiones de tu proyecto a lo largo del tiempo. Esto significa que puedes experimentar libremente, sabiendo que siempre puedes volver a una versión anterior si algo sale mal. ¡Es como tener un botón de "deshacer" ilimitado para todo tu proyecto!

Creando tu primer archivo

Ahora, vamos a crear algo para que nuestra máquina del tiempo lo rastree. Empezaremos con un mensaje sencillo en un archivo:

echo "Hello, Future Me" > message.txt

Este comando crea un nuevo archivo llamado message.txt con el texto "Hello, Future Me" en su interior.

Comprobemos lo que hemos escrito:

cat message.txt

Deberías ver:

Hello, Future Me

¡Genial! Hemos creado nuestro primer archivo. Pero aquí es donde entra la magia de Git. En este momento, este archivo existe en tu computadora, pero Git aún no lo está rastreando. Es como si hubiéramos escrito una nota, pero aún no la hubiéramos metido en nuestra cápsula del tiempo (el repositorio Git).

en los próximos pasos, veremos cómo reacciona Git ante este nuevo archivo y cómo podemos empezar a rastrear sus cambios. Aquí es donde Git empieza a brillar en comparación con simplemente guardar archivos de forma normal. Con Git, podrás ver exactamente qué cambió, cuándo cambió y por qué cambió. ¡Imagina lo útil que sería eso al trabajar en un proyecto grande!

Comprobando el estado de nuevo

Ahora que hemos creado un archivo, preguntémosle a nuestra máquina del tiempo qué es lo que ve. Ejecuta el comando git status otra vez:

git status

Esta vez, verás algo diferente:

On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        message.txt

nothing added to commit but untracked files present (use "git add" to track)

¡Emocionante! Git se ha dado cuenta de nuestro nuevo archivo, pero nos dice que está "untracked" (no rastreado). Esta es una de las cosas geniales de Git: no rastrea automáticamente cada archivo de tu carpeta. Esto te da control sobre qué cambios quieres incluir en el historial de tu proyecto.

Podrías pensar: "¿Por qué no rastrear todo automáticamente?". Bueno, imagina que estás trabajando en un proyecto grande. Es posible que tengas algunos archivos que no quieras rastrear, como notas personales o archivos temporales. Git te permite elegir qué es importante rastrear, manteniendo el historial de tu proyecto limpio y con sentido.

En el siguiente paso, le diremos a Git que queremos rastrear este archivo. Aquí es donde Git empieza a sentirse como un superpoder: ¡estás a punto de crear tu primer punto de guardado en el tiempo!

Preparando tu primer punto de guardado

Ahora, vamos a decirle a Git que queremos incluir message.txt en nuestro próximo punto de guardado (o "commit" en términos de Git). Hacemos esto con el comando git add:

git add message.txt

Este comando no produce ninguna respuesta visual, pero le ha indicado a Git que comience a rastrear message.txt.

Comprobemos el estado de nuevo para ver qué ha cambiado:

git status

Ahora deberías ver:

On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   message.txt

¡Mira eso! Git ahora está rastreando nuestro archivo y está listo para ser confirmado (committed). Este proceso de dos pasos (añadir y luego confirmar) puede parecer un poco complicado al principio, pero en realidad es uno de los superpoderes de Git.

Imagina que estás preparando una cápsula del tiempo. El comando git add es como decidir qué objetos quieres meter en la cápsula, y el commit (que haremos a continuación) es como sellar la cápsula definitivamente. Esto te permite elegir cuidadosamente qué entra en cada punto de guardado de la historia de tu proyecto.

Esta función es increíblemente útil cuando trabajas en proyectos más grandes. Puede que cambies diez archivos, pero solo quieras confirmar los cambios de tres de ellos. El área de preparación o "staging area" de Git (donde se encuentra message.txt ahora) te permite hacer exactamente eso.

Creando tu primer punto de guardado (Commit)

Ahora viene la parte emocionante: ¡vamos a crear nuestro primer commit! Un commit es como sellar una cápsula del tiempo. Guarda el estado actual de todos los archivos rastreados y añade un mensaje que describe qué ha cambiado.

Aquí tienes el comando para crear un commit:

git commit -m "Send a message to the future"

Deberías ver un resultado similar a este:

[master (root-commit) a1b2c3d] Send a message to the future
 1 file changed, 1 insertion(+)
 create mode 100644 message.txt

¡Felicidades! Acabas de crear tu primer commit de Git. Oficialmente has guardado un punto en el tiempo de tu proyecto al que siempre podrás volver.

Por esto Git es tan potente. Cada commit es una instantánea de todo tu proyecto en ese momento. Puedes crear tantas instantáneas como quieras, obteniendo un historial detallado de tu trabajo.

Imagina que estás trabajando en un ensayo escolar. Con el guardado normal, solo tienes la última versión. Pero con Git, podrías tener puntos de guardado para "Primer borrador", "Conclusión añadida", "Introducción corregida", etc. ¡Incluso podrías volver a cualquiera de esos puntos si lo necesitaras!

Viendo tu registro de viaje en el tiempo

Ahora que hemos hecho nuestro primer commit, veamos el historial de nuestro proyecto. Podemos hacerlo con el comando git log:

git log

Deberías ver algo como esto:

commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9 (HEAD -> master)
Author: Your Name <your.email@example.com>
Date:   Mon Aug 7 10:00:00 2023 +0000

    Send a message to the future

Esta entrada del registro nos muestra varias piezas de información:

  • Un identificador único para el commit (esa larga cadena de letras y números).
  • Quién hizo el commit.
  • Cuándo se hizo el commit.
  • El mensaje del commit que escribimos.

Este registro es como la línea de tiempo de tu proyecto. A medida que hagas más commits, se irán añadiendo a este registro, creando un historial completo. Esto es increíblemente útil cuando intentas entender cómo ha evolucionado tu proyecto con el tiempo, o cuando necesitas encontrar cuándo se realizó un cambio específico.

Presiona q para salir del registro y volver a la línea de comandos. Recuerda, siempre puedes presionar q para salir de cualquier vista de pantalla completa en Git.

Imagina que estás colaborando en un proyecto grupal. Con Git, puedes ver quién hizo cada cambio y por qué, lo que facilita mucho la coordinación con tu equipo. Esta es una de las razones por las que Git es utilizado por desarrolladores en todo el mundo: ¡hace que la colaboración sea mucho más sencilla!

Resumen

¡Felicidades, viajero del tiempo! Acabas de completar tu primera aventura con Git. Repasemos las cosas increíbles que has aprendido:

  1. Cómo crear un repositorio Git (tu máquina del tiempo) usando git init.
  2. Cómo comprobar el estado de tu repositorio con git status.
  3. Cómo crear archivos y prepararlos para un commit usando git add.
  4. Cómo crear un commit (un punto de guardado en el tiempo) con git commit.
  5. Cómo ver el historial de tu proyecto usando git log.

Tal vez te preguntes: "¿Por qué tomarse tantas molestias solo para guardar archivos?". ¡Excelente pregunta! He aquí por qué Git es tan poderoso:

  1. Historial detallado: Con Git, tienes un historial completo de tu proyecto. Puedes ver qué cambió, cuándo cambió y por qué.
  2. Experimentación: Git te permite experimentar libremente. Puedes crear diferentes versiones de tu proyecto sin miedo a perder tu trabajo original.
  3. Colaboración: Al trabajar en equipo, Git facilita ver quién hizo qué cambios y por qué.
  4. Copia de seguridad: Cada repositorio de Git es una copia de seguridad completa de tu proyecto, incluyendo todo su historial.

Estos son los pilares fundamentales que los desarrolladores utilizan cada día para crear software asombroso. A medida que continúes tu camino, te basarás en estos conceptos básicos para gestionar proyectos más complejos y colaborar con otros.

Recuerda, todo el mundo empieza como principiante. Incluso los desarrolladores más experimentados estuvieron alguna vez donde tú estás ahora. ¡Sigue practicando, sigue experimentando y, lo más importante, diviértete!

Si quieres aprender más sobre LabEx y cómo usarlo, puedes visitar nuestro Centro de Soporte. O puedes ver este vídeo para conocer más sobre LabEx.

Tu viaje en el mundo de la programación y el control de versiones no ha hecho más que empezar. El Siguiente Laboratorio está a solo un clic de distancia. ¡Sigamos explorando y haciendo crecer tus habilidades! ¿Quién sabe qué proyectos increíbles crearás con tus nuevos superpoderes de Git?