DEV Community

Lara Díaz
Lara Díaz

Posted on • Updated on

Github para Open Source

Git y Github cumplen un rol importante, no solo para el Software de Código Abierto (Open Source) sino también en la vida cotidiana de desarrolladores y compañías. Pero, entendemos la diferencia entre ambos y cómo funcionan?

Git es un “Distributed Version Control System” (DVSC) que permite observar y controlar los cambios en el código. Es muy usado en proyectos porque es multiplataforma, gratuito, eficiente y fácil de usar. Un sistema de control de versión permite monitorear, revisar y manejar las versiones de nuestro proyecto e incluso revertir errores que pueden ocurrir durante el desarrollo.

Alt Text

Pero, cómo empiezo??? Vamos a ver los comandos principales de un flujo de trabajo con Git:

  • Para crear un nuevo repositorio

Alt Text

  • Crear una copia local del repositorio que se está ejecutando

Alt Text

  • Clona un repositorio remoto

Alt Text

                       Flujo de trabajo
Enter fullscreen mode Exit fullscreen mode

Alt Text

Directorio --> Contiene los archivos
Index --> Zona intermedia.
Main (antes conocido como Master) --> Apunta al último commit realizado.

                         Add y Commit
Enter fullscreen mode Exit fullscreen mode
  • Para registrar todos los cambios (Index)

Alt Text

  • Para registrar un solo archivo

Alt Text

  • Para hacer commit de estos cambios, incluyendolos en el “Main”

Alt Text

                       Envío de cambios
Enter fullscreen mode Exit fullscreen mode
  • Envía los cambios a tu repositorio remoto (Main o la rama a la que se desee mandar los cambios)

Alt Text

  • Para conectar tu repositorio local a un repo remoto.

Alt Text

                            Ramas
Enter fullscreen mode Exit fullscreen mode

Son utilizadas para desarrollar funcionalidades aisladas de otras ramas.

  • Crea tu rama

Alt Text

  • Cambia a la rama principal

Alt Text

  • Borra la rama

Alt Text

  • Para subir la nueva rama y hacerla visible en el repo remoto

Alt Text

  • Actualiza el repo con los cambios

Alt Text

  • Fusiona otra rama con la rama activa (Main)

Alt Text

  • Muestra los cambios en el repo (nuevos, viejos y modificados)

Alt Text

  • Muestra todos los commits

Alt Text

                  ¿Y entonces qué es Github?
Enter fullscreen mode Exit fullscreen mode

Es una plataforma creada en 2008 que nos permite manejar y almacenar los repositorios de git en la nube. Eso es todo, podes optar por mantener tus proyectos con git localmente, ya que github actúa como intermediario para mantener un backup de git externamente, además de hacer mucho más fácil el colaborar y compartir tus proyectos con otros desarrolladores.

                      ¿Qué es un fork?
Enter fullscreen mode Exit fullscreen mode

Un fork es un mecanismo propio de GitHub que existe por que no todo el mundo puede editar sobre tu repositorio; un fork es un clon del repo en github y que funciona como un branch del original y es la forma principal por la cual alguien puede proponer cambios a un repositorio que no creo.

          ¿Y en qué se diferencia un fork de un clon?
Enter fullscreen mode Exit fullscreen mode

Cuando hacemos un clon de un repositorio, te bajas una copia del mismo a tu máquina. Empiezas a trabajar, haces modificaciones y haces un push. Cuando haces el push estás modificando el repositorio que has clonado.

Cuando haces un fork de un repositorio, se crea un nuevo repositorio en tu cuenta, con una URL diferente (fork). Acto seguido tienes que hacer un clon de esa copia sobre la que empiezas a trabajar de forma que cuando haces push, estás modificando TU COPIA (fork). El repositorio original sigue intacto. El uso más común es el de permitir a los desarrolladores contribuir a un proyecto de forma segura.

                  ¿Qué es un pull request?
Enter fullscreen mode Exit fullscreen mode

El pull request es un pedido de merge, y si bien puede usarse dentro de un mismo repositorio donde la persona que lo crea tiene poder para hacer merge, este es el mecanismo que se usa para mandarlos cambios de un fork al repo original.
El objetivo de los PR es la validación y/o documentación de los cambios, ya que permite pedir review de otras personas o, si es dentro del mismo repo y ni reviewers, se puede usar para documentar por que entran X cambios a master.

  --------------------------------------------------------
Enter fullscreen mode Exit fullscreen mode

Por ahora, esto es lo básico, en la próxima entrada veremos Github CLI en su versión desktop y terminal. Espero les sirva =)

Discussion (0)