git, GitHub, GitKraken (continuación)


Recuento de la clase pasada

En la clase pasada vimos como sincronizar el repositorio remoto con los cambios que hemos realizado y documentado localmente. En la práctica, esto se da cuando nosotros mismos editamos alguna parte de un proyecto en el que estamos trabajando.

Ahora aprenderemos a hacer lo contrario. Es decir, como sincronizar el repositorio local con los cambios que se hayan hecho en el repositorio remoto. En la práctica, esto se da cuando otros colaboradores del proyecto hacen algún cambio y nosotros queremos ver esos cambios.

Seguimos basándonos en el siguiente video de YouTube.


In [1]:
from IPython.display import YouTubeVideo
YouTubeVideo('f0y_xCeM1Rk')


Out[1]:

Receta (continuación)

  1. Estando en GitHub en el repositorio hello-world, picar en Create new file.
    • Normalmente la gente no crea ni edita archivos en GitHub, sin embargo esta será nuestra forma de emular que alguien incluyó un nuevo archivo en nuestro proyecto.
    • Darle algún nombre al archivo y poner algo en el cuerpo de texto.
    • Poner un mensaje describiendo que se añadió un nuevo archivo.
    • Picar en Commit new file.
    • Ver que en el repositorio remoto en GitHub ya existe el nuevo archivo, pero en el repositorio local no.
  2. Revisar el arbol de cambios en GitKraken. Vemos que ahora el ícono que revela los cambios en GitHub va un paso adelante del ícono que revela los cambios en el repositorio local.
  3. Para incorporar los cambios del repositorio remoto en el repositorio local debemos picar en Pull en la parte superior. De nuevo, los íconos deberían juntarse.
  4. Revisar el repositorio local para ver que el nuevo archivo ya está ahí.

Hasta ahora...

Hemos aprendido como manejar repositorios remotos de forma básica con GitKraken:

  1. Teniendo un repositorio remoto guardado en GitHub, jalamos (pulled) esos archivos a nuestro disco local para trabajar. El tipo de operaciones que llevamos a cabo fueron:
    1. Clone: descripción.
    2. Pull: descripción.
  2. También hicimos lo opuesto. Si hacemos cambios en nustro repositorio local, pudimos actualizar nuestro repositorio de GitHub. El tipo de operación que llevamos a cabo fue:
    1. Push: descripción.

¿Y si cometemos algún error?

Los errores son inherentes a nuestra condición humana. Por tanto, es muy probable que en el desarrollo de un proyecto cometamos algún error.

Una de las características de gestionar versiones con git (y por ende con GitKraken), es que podemos volver a un commit anterior si cometimos algún error.

Mostrar cómo hacer esto en GitKraken.


Branching

Cuando hicimos el ejercicio hello-world al abrir la cuenta en GitHub, nos dieron una pequeña introducción al branching (creamos una rama de edición, editamos el archivo README, para finalmente fusionar los cambios en la rama master).

Branching:

  • Es una forma segura de realizar cambios importantes en un proyecto con git.
  • Consiste en crear ramas adicionales para hacer modificaciones en el proyecto sin modificar la rama master hasta que se esté completamente seguro de las modificaciones.
  • Una vez se esté seguro de que las modificaciones están bien, dichas modificaciones se incluyen en la rama master

Ejemplo

  1. En GitKraken, en el repositorio hello-world, crear una rama llamada add_file.
    • Click derecho sobre el icono master, y picar en Create branch here.
    • Dar nombre add_file y presionar la tecla enter.
    • Notar que automáticamente GitKraken nos pone en la rama recién creada.
  2. Ir al directorio local del repositorio y añadir un archivo nuevo.
  3. Hacer el proceso de stage y commit en la rama.
  4. Revisar que pasa con el directorio cuando cambiamos de rama (para cambiar de rama, dar doble click sobre la rama a la que se quiere pasar).
  5. Incluir los cambios en la rama master (arrastrar una rama sobre la otra, y picar en la opción Merge add_file into master).
  6. Cambiar a la rama master y borrar la rama add_file.
  7. Hacer un push para actualizar el repositorio remoto.

Forking

Una bifurcación (fork) es una copia de un repositorio. Bifurcar un repositorio te permite experimentar cambios libremente sin afectar el proyecto original.

Existen varias aplicaciones del Forking:

Seguir un proyecto de otra persona

Como ejemplo, van a seguir el proyecto de la asignatura Simulacion2017.

Los siguientes pasos nos enseñarán como mantener nuestro repositorio local actualizado con el repositorio de la asignatura.

  1. Entrar al repositorio https://github.com/esjimenezro/Simulacion2017.
  2. En la esquina superior derecha, dar click en fork y esperar un momento. Esta acción copia en su cuenta de GitHub un repositorio idéntico al de la materia (con el mismo nombre).
  3. Desde GitKraken, clonar el repositorio (el que ya está en su cuenta).
  4. En la pestaña REMOTE dar click en el signo +.
    • Picar en GitHub.
    • Desplegar la pestaña y elegir esjimenezro/Simulacion2017.
    • Picar en Add remote.
  5. Añadiré un nuevo archvo en el repositorio de la materia y ustedes verán qué pasa en `GitKraken`.
  6. Arrastrar el repositorio remoto ajeno a la rama master y dar click en la opción Merge esjimenezro/master into master. Ya el repositorio local está actualizado.
  7. Para actualizar el repositorio remoto propio hacer un push.

Proyectos colaborativos

Normalmente, los forks se usan para proponer cambios en el proyecto de otra persona (hacer proyectos colaborativos).

Hacer un cambio en el repositorio propio y mostrar como hacer el *pull request* y el *merge*.

Referencias:

**Actividad**: por parejas harán un proyecto colaborativo. En moodle subiré como hacerlo paso a paso y qué es lo que se debe entregar.

Fecha de entrega: martes 29 de Agosto (1 semana).

Recordar tarea para hoy y recuento de la clase

Created with Jupyter by Esteban Jiménez Rodríguez.