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á un repositorio, hará fork del mismo, agregará nuevas recetas al sitio web y enviará un pull request al repositorio base para integrar los cambios.

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é sucede al hacer fork de un repositorio?

Pregunta 2. ¿Para qué se usa un fork?

Pregunta 3. ¿Qué es un pull request?

Pregunta 4. ¿Quién puede aceptar o rechazar un pull request?

Pregunta 5. ¿Qué sucede al rechazar un pull request?

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

En esta primera sección usted deberá crear el repositorio del recetario en GitHub, clonarlo, agregar la línea base y enviar los cambios al repositorio remoto.

Paso 1: Crear el repositorio en GitHub

  1. Inicie sesión en GitHub.

  1. Haga clic en el botón New.
  1. Ingrese el nombre del repositorio. Seleccione el perfil de seguridad de acuerdo con el contexto del proyecto que va a trabajar y haga clic en el botón Create repository.

Con lo anterior habrá creado un repositorio remoto, ahora copie su URL para empezar a trabajar en él.

Paso 2: Clonar el repositorio remoto

  1. Abra la consola de Git Bash o la terminal.
  2. Ubíquese en el directorio de su preferencia (allí se creará el repositorio local).
  3. Clone el repositorio teniendo en cuenta la URL del repositorio remoto creado en la sección anterior.
$ git clone <url_repositorio_github>

Al ejecutar el comando se inicia la clonación del repositorio y se genera una advertencia indicando que está vacío.

Al finalizar tendrá una carpeta con el repositorio local en el directorio definido en el punto 2.

Paso 3: Agregar línea base del proyecto

Como se dijo en la introducción, el punto de partida para este tutorial es un proyecto web que contiene diferentes recetas de cocina hispanoamericana. Lo que se hará a continuación será realizar cambios a ese proyecto desde el repositorio local y sincronizarlos con el repositorio remoto.

Realice los siguientes pasos:

  1. Copie el contenido de la carpeta /recetario en el directorio de su repositorio local.
  2. Desde la consola de Git Bash o la terminal ubíquese en la carpeta del proyecto.

  1. Consulte el estado del repositorio.
$ git status

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

  1. 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.

  1. Consulte nuevamente 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.

  1. 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.

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

En este momento, ya cuenta con el código base del proyecto en el repositorio local y está listo para actualizar el repositorio remoto.

  1. Sincronice los cambios con el repositorio remoto.
$ git push -u repo_remoto master //La opción -u mantiene un registro de la rama a la que se hace push, lo anterior con el fin de evitar conflictos o ausencia de información al hacer pull.

  1. Verifique los cambios en GitHub.

Ahora el código base del proyecto se encuentra en el repositorio remoto y es posible visualizarlo, navegar en él y obtener información relevante de todo el historial desde cualquier parte del mundo.

Deténgase un poco para navegar en las diferentes opciones de GitHub.

Para hacer fork del repositorio base realice los siguientes pasos:

1. Cree una cuenta en GitHub (debe ser diferente a la utilizada en el punto anterior).

2. Inicie sesión en la cuenta que acaba de crear.

3. Usando el navegador web vaya al repositorio base creado en la sección anterior. Haga clic en el botón Fork ubicado en la parte superior derecha de la pantalla.

Al finalizar, GitHub crea una copia del repositorio base en su dominio y el nuevo repositorio tiene el nombre de su usuario/el nombre del repositorio base.

Paso 1: Clonar repositorio

1. Haga clic en el botón Clone or Download para copiar la URL del nuevo repositorio.

2. Abra la consola de Git Bash o la terminal.

3. Ubíquese en el directorio de su preferencia (allí se creará el repositorio local y debe ser una ubicación diferente a la usada en el repositorio base).

4. Clone el repositorio teniendo en cuenta la URL copiada en el punto 1.

$ git clone <url_repositorio_github>

Al finalizar tendrá una carpeta con el repositorio local en el directorio definido en el punto 2.

Paso 2: Agregar una nueva receta

Siga los siguientes pasos:

  1. Copie y pegue la carpeta /files_to_add/Mexico en el directorio /recetas de su copia de trabajo local.
  2. Guarde los cambios en el repositorio local.

  1. Sincronice los cambios con el repositorio remoto.

Usted creará una solicitud de extracción para integrar los cambios realizados al repositorio base.

Siga los siguientes pasos:

1. En la página de GitHub, haga clic en la pestaña Pull request y después en el botón New pull request.

Note que GitHub lo redirecciona a la página del repositorio base con el fin de hacer una comparación con su copia.

Además, le permite ver la diferencia en commits y una visualización de los archivos involucrados. Ahora haga clic en el botón Create pull request.

2. Agregue el detalle de su propuesta y un título descriptivo. Este servirá para que el administrador del repositorio base tenga idea de los cambios que se desean integrar.

  1. Haga clic en el botón Create pull request.

Ya se ha creado el pull request. Ahora podrá seguir comentando al respecto o cerrarlo si desea.

1. Inicie sesión en la cuenta GitHub que contiene el repositorio base.

2. Note que tiene una notificación en la pestaña de Pull request. Ábrala para ver su contenido y haga doble clic en el título del Pull request para visualizar su información (el autor del pull request, la fecha y el comentario del mismo).

Visualice los archivos afectados o agregados en el Pull request haciendo clic en la pestaña Files changed.

3. Revise el contenido y estructura de la nueva receta.

En este caso, se ha identificado que cuenta con un título, número de personas, ingredientes y preparación. Sin embargo, falta la imagen.

4. Comente la sección del archivo donde considera que debe ir la imagen. Para hacerlo diríjase a la numeración que se encuentra a mano izquierda y haga clic sobre el símbolo +.

Asegúrese de escribir el comentario de forma clara y descriptiva, luego haga clic en el botón Start a review.

  1. Finalice la revisión haciendo clic sobre el botón Finish your review.

  1. Seleccione la opción Request changes y envíe el comentario.

Esa opción permite que el autor del Pull request ajuste el código y responda al comentario para fusionar los cambios.

Una vez revisado el Pull request, debe llegar una notificación al correo electrónico registrado en GitHub con un resumen de las observaciones recibidas.

Si desea revisar directamente en la página de GitHub, realice los siguientes pasos:

1. Consulte la pestaña Pull request del repositorio base en GitHub.

Como se observa en la imagen anterior, hay un mensaje de cambios solicitados. Para ver el detalle haga clic en el título del Pull request.

Revise la respuesta del administrador del repositorio base y realice los ajustes correspondientes.

Teniendo en cuenta la respuesta obtenida en el Pull request, realice las correcciones sugeridas:

  1. Desde el espacio local, agregue la imagen de la receta y ajuste el archivo pozole.html
  2. Verifique los cambios.

  1. Guarde los cambios en el repositorio local.

  1. Sincronice los cambios con el repositorio remoto.

Una vez sincronizado, el repositorio base los detecta y le permite a su propietario volver a revisarlos.

1. Inicie sesión en la cuenta GitHub que contiene el repositorio base.

2. Haga clic en la pestaña Pull request del repositorio base y luego en el título del Pull request para ver su detalle.

3. Haga clic en View changes para revisar los últimos cambios.

Note que las observaciones han sido tenidas en cuenta. Es decir, que ya puede integrar los cambios.

4. Acepte el Pull request, haciendo clic en la revisión pendiente (1 pending reviewer) y luego en Merge Pull Request.

  1. Por último confirme el merge.

Con esto habrá aceptado la solicitud de extracción y se creará un nuevo commit en el repositorio con los cambios integrados.