Trabajo en equipo con Git y GitHub

15 Jun 2019 17 min (0) Comentarios

Este es el segundo video del curso Git y github que continua al anterior en el que aprendimos a instalar y configurar git así como a crear una cuenta de github, para ello puedes acceder aquí 

Digamos que ese tutorial era cuando trabajamos solos en un proyecto, hacemos cambios y los publicamos para mantener un registro de los mismos.

En este segundo tutorial veremos cosas algo más complejas que serán las que utilizamos cuando trabajamos en equipo.

1 - Qué es un branch?

Git funciona por ramas, esto quiere decir que tenemos el código principal en la rama A. Nosotros queremos hacer un cambio, para realizar ese cambio no lo realizamos directamente en la rama A, sino que creamos una rama paralela a raíz de la rama A.

estructura branch

Esto lo realizamos porque así permitimos a otros desarrolladores trabajar y tanto ellos como nosotros no vamos a tener el código del otro, el cual puede no estar funcional al 100% todo el tiempo o contener errores.

Comúnmente estos branches se crean porque tenemos una tarea o una funcionalidad que añadir, para ello GitHub tiene su propia pestaña en el repositorio.

1.1 - como crear un branch

Supongamos que tenemos la tarea EJ-0001 y queremos arreglarla.

Para crear un Branch tenemos dos opciones

  1.  Ir a GitHub y crear un Branch como podemos ver en el video
  2. Utilizando la línea de comandos utilizando el siguiente comando
git branch [nombre]

Este comando creara un Branch con el nombre que le indicamos. Posteriormente nos tenemos que posicionar sobre él, lo cual lo haremos con el comando checkout.

git checkout EJ-0001

Ambos comandos se pueden fusionar en uno solo, el cual nos creara un Branch y posicionara el código sobre ese Branch.

git checkout -b EJ-0001

A partir de ahora cuando hagamos un commit al código este se realizará sobre el Branch EJ-0001 y no sobre el principal.

Cuando terminemos todos los cambios en el código y queramos ponerlos en el Branch principal, ya que están listos para producción, realizaremos un merge.

2 - Qué es un merge?

Cuando queremos implementar los cambios que hemos realizado dentro de la rama principal del repositorio realizamos una acción denominada merge, la cual combinara nuestro código con el principal.

estuctura merge

2.1 - Cómo hacer un merge?

En GitHub es muy sencillo ya que nos da un botón para realizar el merge.

En línea de comandos nos tenemos que ubicar sobre la rama principal del repositorio, y entonces escribir el comando de la siguiente manera:

git merge EJ-0001

Y si no hay ningún conflicto (siguiente video) el código se combinara con el de la rama principal.

2.2 - Cómo borrar un branch?

Para borrar un branch únicamente neceistamos el siguiente comando

 

git Branch -d EJ-0001

3 - Pull request

Como acabamos de ver, juntar nuestro código con la rama principal es muy fácil y sencillo, lo que puede llevar a algún problema si no hay ninguna “doble comprobación”. Aquí viene por qué GitHub fue tan popular cuando salió en comparación con sus rivales.

3.1 - Qué es un pull request?

Como hemos indicado es un método de “doble comprobación” eso quiere decir que utilizaremos a una segunda persona de nuestro equipo para revisar que todo el código esta bien y cumple con los estándares puestos.

3.2 - Cómo hacer un pull request?

En este caso no hay forma de realizarla utilizando línea de comandos, por lo que tenemos que utilizar GitHub, aunque también esta disponible en bitbucket y en gitlab (merge request)

Para ello lo que tenemos que hacer es, dentro del repositorio pulsar en el botón nuevo pull request

nuevo pull request GitHub

Una vez pulsamos, veremos que nos abre una ventana como la siguiente, en la que tenemos que indicar primero el Branch principal al que vamos a hacer el merge (la rama A) y después el Branch de nuestra tarea

crear pull request

Como vemos después de la tarea 2 tenemos un check verde que indica que el código no tiene ningún conflicto, en el siguiente tutorial veremos como lidiar con conflictos.

Finalmente, también debemos escribir un título y una descripción que ayduaran a la persona que realice el code review.

3.3 - Revisar el código

Una vez tenemos la pull request creada el usuario que hemos indicado recibirá o una alerta o un email, depende de su configuración, y pasará a revisar el código.

Lo que realizara es abrir la tarea inicial y ver si los cambios se corresponden con lo que se pide.

También comprobara si sigue todas las normas del equipo como pueden ser el nombre de las variables, espacios o tabuladores, etc. Si no esta de acuerdo con el código por cualquier motivo escribirá en la pull request que necesita cambios, y se deberán arreglar y volver a hacer otro commit.

Este commit estará incluido automáticamente en el pull request.

Para aceptar un pull request tan solo tenemos que pulsar el botón de aceptar

aceptar pull request

3.4 - Merge de un pull request

Una vez todos los cambios están aceptados, solo queda hacer el merge con el Branch principal.

El desarrollador que ha desarrollado la funcionalidad es el que debe realizar el merge, ya que comúnmente no hay problema de conflictos, pero puede ser que salte alguno, y el revisor no debe de encargarse de arreglarlos.

Para ello tan solo tenemos que pulsar el botón merge pull request

merge pull request


Uso del bloqueador de anuncios adblock

Hola!

Primero de todo bienvenido a la web de NetMentor donde podrás aprender programación en C# y .NET desde un nivel de principiante hasta más avanzado.


Yo entiendo que utilices un bloqueador de anuncios como AdBlock, Ublock o el propio navegador Brave. Pero te tengo que pedir por favor que desactives el bloqueador para esta web.


Intento personalmente no poner mucha publicidad, la justa para pagar el servidor y por supuesto que no sea intrusiva; Si pese a ello piensas que es intrusiva siempre me puedes escribir por privado o por Twitter a @NetMentorTW.


Si ya lo has desactivado, por favor recarga la página.


Un saludo y muchas gracias por tu colaboración

© copyright 2024 NetMentor | Todos los derechos reservados | RSS Feed

Buy me a coffee Invitame a un café