A través del desarrollo de este tutorial pondrá en práctica los diferentes conceptos vistos durante el módulo.

Se espera que al finalizar usted pueda:

El punto de partida es un proyecto web que contiene diferentes recetas de cocina hispanoamericana. Creará el repositorio y agregará nuevas recetas al sitio web.

Descargue los archivos del proyecto disponibles en este repositorio: Recetario

Utilice la opción Download ZIP en el botón Code.

Para realizar este tutorial usted debe tener claras las respuestas a las siguientes preguntas:

Pregunta 1. ¿Qué es un repositorio?

Pregunta 2. ¿Cuáles son las zonas de trabajo en Git?

Pregunta 3. ¿Cómo consultar el estado de un repositorio?

Pregunta 4. ¿Cómo se agregan archivos al área de preparación?

Pregunta 5. ¿Qué es un commit?

Pregunta 6. ¿Cómo consultar el historial del repositorio?

Pregunta 7. ¿Es posible devolverse a una versión anterior?

Si no es así, por favor revise los videos y el material propuesto antes de seguir. De esta forma podrá sacarle más provecho.

3.1. Cree la carpeta /recetario en el directorio de su preferencia.

$ mkdir recetario

3.2. Desde Git Bash o la terminal ubíquese en la carpeta.

$ cd recetario

3.3. Cree un repositorio mediante el comando init.

$ git init

Verifíquelo consultando los archivos y directorios ocultos en la carpeta.

$ ls -a

4.1. Copie el contenido de la carpeta /recetario en el directorio de su repositorio local.

4.2. Consulte el estado de su repositorio.

$ git status

Note que los archivos están en la copia de trabajo local, pero aún no han sido incluidos al área de preparación.

4.3. Añada las carpetas de recetas e imágenes al área de preparación.

$ git add . //Al ejecutar el comando de esta forma, se están agregando todos los cambios al área de preparación.

4.4. Consulte el estado de su repositorio e identifique los cambios.

$ git status

Ahora los archivos han sido etiquetados como new file, es decir que se encuentran por primera vez en el área de preparación y están pendientes de ser enviados al repositorio.

4.5. Utilice el comando commit para añadir los archivos que están en el área de preparación al repositorio .

$ git commit -m "Se añade codigo base" //La opción -m implica que habrá un mensaje de confirmación asociado al commit

Note que Git especifica cuántos archivos han sido cambiados y cuántas líneas de código han sido insertadas o eliminadas.

El autor de un commit debe comentar lo que hizo mediante un breve mensaje. Esto ayuda a otras personas (y a sí mismo) a comprender más adelante el propósito de los cambios.

4.6. Consulte el historial de cambios.

$ git log

Note que además de la información básica del commit, también es posible identificar la rama donde se realizaron los cambios y el identificador único del mismo. Este último le permitirá buscarlo o devolverse de commit más adelante.

En este momento, ya cuenta con el código base del proyecto en el repositorio y está listo para empezar a trabajar en él.

Se ha identificado que la imagen en la receta Arroz con coco no corresponde al plato. Ubíquese en el siguiente directorio desde su copia de trabajo local: /recetas/Colombia/arroz_coco.html y corrija la ruta de la imagen por: ../../imagenes/arroz-coco.jpg

Una vez realizado el ajuste realice los siguientes pasos:

5.1. Verifique el estado del repositorio.

$ git status

Ahora el archivo /recetas/Colombia/arroz_coco.html ha sido etiquetado como modified (en color rojo), es decir que Git identificó cambios en el archivo de la copia de trabajo local que aún no han sido movidos al área de preparación.

5.2. Agregue los cambios al área de preparación.

$ git add recetas/Colombia/arroz_coco.html //de esta forma se agrega archivo específico

5.3. Consulte el estado del repositorio para verificar los cambios.

$ git status

El archivo /recetas/Colombia/arroz_coco.html ha sido etiquetado como modified (en color verde), es decir que los cambios ya fueron movidos al área de preparación y están pendientes de guardarse en el repositorio.

5.4. Una vez esté seguro del cambio, confirmelo en el repositorio.

$ git commit -m "Se modifica ruta de imagen en receta"

5.5. Consulte el historial de cambios.

$ git log

Verifique los 2 commit realizados hasta el momento: su identificador, fecha de creación, autor y mensajes de confirmación.

6.1. Utilice el comando diff para consultar las diferencias entre un commit y otro.

$ git diff <id_commit2>..<id_commit1>

Tenga en cuenta que este comando requiere tener conocimiento del id de los commit.

Una vez ejecutado le permite evidenciar el directorio del archivo modificado y las líneas específicas que fueron cambiadas, en este caso la línea roja representa lo que estaba en la versión anterior y la verde lo que está en la versión actual.

Después de agregar el código base y modificar un archivo, es hora de agregar una nueva receta al proyecto.

7.1. Copie la carpeta /files_to_add/Mexico en el directorio /recetas de su copia de trabajo local.

7.2. Copie la imagen /files_to_add/imagenes/pozole.jpg en la carpeta /imagenes de su copia de trabajo local.

7.3. Verifique el estado del repositorio.

$ git status

7.4. Agregue los cambios al área de preparación.

$ git add .

7.5. Consulte el estado del repositorio para verificar los cambios.

$ git status

7.6. Confirme los cambios en el repositorio.

$ git commit -m "Se incluye receta mexicana"

7.7. Consulte el historial de cambios.

$ git log

Verifique los 3 commit realizados hasta el momento: su identificador, fecha de creación, autor y mensajes de confirmación para realizar la siguiente parte del tutorial.

8.1. Identifique el ID del commit al cual desea regresar y utilice el comando checkout.

$ git checkout <id_commit>.

Observe que Git responde con la descripción del commit en el que se encontraba antes de ejecutar el comando y en el que se encuentra ahora.

8.2. Consulte el historial del repositorio nuevamente.

$ git log

Ahora se han revertido los cambios y su proyecto se encuentra como en el primer commit.

Variaciones del comando checkout

Para deshacer cambios en su copia de trabajo local, utilice el comando checkout de la siguiente forma:

$ git checkout HEAD <ruta_archivo>