Fusionando

En este punto deberías haber creado una rama, hecho algunas modificaciones de código, realizado commits de esos cambios, probado que funcionan (idealmente), y ahora estás listo para traer esos cambios de vuelta a una de tus ramas principales (es decir, Main o Development).

Llamamos a este proceso Fusión, es muy sencillo y puedes hacerlo a través de la aplicación de escritorio y/o interfaz web de GitHub. A continuación se muestran ambas formas de fusionar.

Fusionando con GitHub Desktop

Antes de intentar fusionar, es importante asegurarse de cambiar a la rama en la que quieres fusionar tus cambios. (¡No la rama en la que has estado trabajando!) Selecciona esa rama en la aplicación GitHub Desktop.

selectbase

A continuación, haz click en Branch (Rama) en la parte superior y luego en Merge into current branch… (Fusionar en la rama actual…)

startmerge

Selecciona la rama que quieres fusionar (la que has estado trabajando) (1). A continuación, pulsa el botón de fusión (2).

selectbranch

GitHub Desktop mostrará que la fusión fue exitosa.

successfulmerge

Por último, sube tu rama (push) con los cambios fusionados a GitHub.

push

Fusionando con GitHub Online

Alternativamente, puedes utilizar la interfaz de solicitudes de extracción (pull requests) en línea de GitHub para gestionar la fusión de ramas. Si tienes configurada la protección de ramas, o si quieres que las fusiones en tus ramas primarias requieran revisiones, entonces el método anterior usando la aplicación de escritorio no funcionará. Además, la interfaz de solicitud de extracción es lo que se utiliza con la finalidad de llevar las actualizaciones oficiales a tu repositorio privado y enviar el código que has escrito para contribuir al repositorio oficial si alguna vez decides hacerlo. Crear solicitudes de extracción es sumamente sencillo.

Comienza por ir a GitHub.com y navegar hasta tu repo personal de Intersect. Haz click en la pestaña Pull Requests y luego en el botón New Pull Request.

repo

Estamos fusionando código dentro de nuestros propios repositorios ahora mismo, así que asegúrate de que los menús desplegables del repositorio base y del repositorio principal apuntan a tu repo.

selectbase

¿Ves la flecha? Eso significa que la selección de la derecha se fusionará con la selección de la izquierda. Queremos fusionar la rama en la que estábamos trabajando con la rama original con la que empezamos. Estoy fusionando mi rama ”cleaning-up” en la rama ”development“.

selectbranches

Una vez seleccionados los repositorios y ramas, GitHub debería decirte que puedes fusionar y crear la solicitud de extracción (“Able to merge”).

createpr

GitHub te llevará a una última pantalla en la que puedes proporcionar un título y una descripción para tu solicitud de extracción. Una vez listo, puedes pulsar el botón Create Pull Request por última vez.

submitpr

Con la solicitud de extracción abierta, puedes finalmente hacer click en el botón Merge pull request para fusionar tu código.

merge

Una vez completada la fusión, puedes volver a la aplicación de escritorio de GitHub, seleccionar tu rama base y extraer los cambios desde GitHub. (¡Puede que tengas que hacer un fetch primero!)

pull