Un Pull Request es una función de GitHub que permite a tu equipo solicitar la revisión y aprobación de sus cambios antes de fusionarlos en la rama principal de desarrollo, denominada “master” o "main".
Al crear un PR se genera una conversación en la que los demás miembros pueden seguir y comentar los cambios propuestos en el código del repositorio. Esto permite detectar cualquier error o problema potencial antes de integrarlos en la rama principal, lo que ayuda a mantener el proyecto más limpio y estable.
Estructura de la incorporación de cambios
El proceso para hacer un pull request consiste en indicar la rama y repositorio de origen y destino. De esta forma, un desarrollador podrá incluir tus cambios en su proyecto.
Bitbucket tiene una configuración predeterminada que funciona para la mayoría de los equipos, pero cada equipo puede personalizarla para ajustarla a su propio flujo de trabajo.
Cómo hacer un pull request
Un PR es un proceso crucial para facilitar la revisión y la integración efectiva del código. A continuación, veremos el paso a paso.
Solicitando un pull request
Crea una rama paralela: Antes de hacer cambios en el código, utiliza el comando git checkout -b <rama> para crear una nueva rama. Así, podrás hacer tus modificaciones sin afectar la rama principal (por ejemplo, master).
Realiza commits: Después de hacer cambios en los archivos, usa git commit -am '<Comentario>' para hacer un commit con un mensaje descriptivo.
Sube los cambios: Usa git push origin <rama> para subir tus cambios de la rama local al repositorio remoto. Reemplaza <rama> con el nombre de tu rama.
Crea un pull request: En el repositorio remoto (como GitHub), crea un nuevo pull request. Selecciona la rama principal como destino y tu rama con los cambios como comparación.
Feedback: Los revisores examinarán los cambios. Usa la sección de comentarios del pull request para discutir los cambios y proporcionar feedback adicional.
Realiza los cambios solicitados: Si se solicitan cambios, regresa a tu rama local y haz las modificaciones necesarias. Luego, sube los cambios al repositorio remoto usando git push origin <rama>.
Aceptando un pull request
Acepta los cambios en GitHub: Si estás satisfecho con los cambios propuestos en el pull request y consideras que están listos para ser fusionados con la rama principal, acepta el pull request en GitHub. De esta forma, los cambios se fusionarán en la rama principal del repositorio.
Realiza el merge en la rama principal: Después de aceptar el pull request, selecciona la opción para realizar el merge en GitHub. Esto combinará los cambios de la rama con los cambios existentes en la rama principal (master).
Para solicitar y aceptar pull requests de manera efectiva, sigue estos sencillos pasos que te ayudarán a facilitar la colaboración y la mejora continua del código en tu proyecto.
¿Cómo corregir un Pull Request?
Al revisar un pull request, es posible encontrar problemas o áreas que necesiten corrección antes de que los cambios se puedan unir con la rama principal. Aquí se explica cómo corregir un pull request de forma efectiva.
Lee los comentarios y feedback: Comprueba cuidadosamente todos los comentarios y feedback proporcionados por los revisores en el pull request. Toma nota de los problemas señalados y las sugerencias de mejora.
Regresa a tu rama local: Utiliza el comando git checkout <rama> para volver a la rama en la que realizaste los cambios y necesitas revisar.
Realiza las modificaciones: Basándote en los comentarios y feedback recibidos, efectúa las revisiones necesarias en los archivos relevantes. Asegúrate de abordar todos los problemas señalados y seguir las sugerencias de mejora proporcionadas.
Realiza un nuevo commit: Después de efectuar las correcciones, utiliza el comando git commit -am '<Comentario>' para crear un nuevo commit que refleje las correcciones realizadas. Asegúrate de proporcionar un mensaje claro y descriptivo para indicar las modificaciones realizadas.
Sube los cambios al repositorio remoto: Utiliza el comando git push origin <rama> para subir los cambios corregidos a la rama correspondiente en el repositorio remoto.
Actualiza el pull request: Una vez que los cambios corregidos se hayan subido al repositorio remoto, el pull request se actualizará automáticamente para reflejar las modificaciones procedidas en la rama. Los revisores podrán ver los nuevos cambios y comentarios.
Comunica las correcciones realizadas: Si consideras que has abordado adecuadamente los problemas señalados y las sugerencias de mejora, puedes comunicar a los revisores que has realizado las correcciones necesarias y que el pull request está listo para ser revisado nuevamente.
Es hora de administrar tus pull requests
Al seguir estos pasos, podrás revisar un pull request de manera efectiva, asegurándote de abordar los problemas identificados y proporcionar una versión mejorada de los cambios propuestos. La comunicación abierta y clara con los revisores es fundamental durante este proceso para garantizar una colaboración exitosa.
Recuerda que cualquier modificación que realices en una rama también modificará el pull request, así que es importante que procedas con los cambios necesarios y los subas de nuevo al repositorio remoto antes de aceptar el pull request.
Es una funcionalidad de github (en gitlab llamada merge request y en bitbucket push request), en la que un colaborador pide que revisen sus cambios antes de hacer merge a una rama, normalmente master.
Al hacer un pull request se genera una conversación que pueden seguir los demás usuarios del repositorio, así como autorizar y rechazar los cambios.
El flujo del pull request es el siguiente
Se trabaja en una rama paralela los cambios que se desean (git checkout -b <rama>)
Se hace un commit a la rama (git commit -am '<Comentario>')
Se suben al remoto los cambios (git push origin <rama>)
En GitHub se hace el pull request comparando la rama master con la rama del fix.
Uno, o varios colaboradores revisan que el código sea correcto y dan feedback (en el chat del pull request)
El colaborador hace los cambios que desea en la rama y lo vuelve a subir al remoto (automáticamente jala la historia de los cambios que se hagan en la rama, en remoto)
Se aceptan los cambios en GitHub
Se hace merge a master desde GitHub
Importante: Cuando se modifica una rama, también se modifica el pull request.
gracias verdaderamente util y me ahorro tiempo
¡Vientos! Git es la maravilla, ¿verdad?
Apuntes de apoyo!
¿Cómo o dónde haces esos apuntes? Son muy buenos, y gracias por compartirlo
Gracias! Tus apuntes siempre sirven como repaso al final de las clases, son excelentes.
Estoy tomando el curso con una compañera de trabajo y estamos mutuamente simulando las acciones de Freddy y Anita en nuestros repositorios. Nos llamó la atención que no nos llegaron notificaciones vía GitHub cuando realizamos las interacciones, por ejemplo solicitar la revisión de código, solicitar cambios, etc. Luego descubrimos que sí nos llegaron vía correo electrónico.
Para habilitar las notificaciones directamente en GitHub como las tiene Freddy hay que ingresar a los Settings (del usuario) y luego a la sección Notifications, habilitando las casillas Web de los eventos deseados.
Muy buen aporte! muchas gracias.
Qué buen aporte compañero.
Espero se entienda y a alguien le sea útil!
Muy útil, gracias :D
Esta excelente :)
Datos importantes de esta clase:
-Los PullRequest no generan un Merge, es un preludio a este para revisar los cambios.
-Dentro de los PullRequest se puede hacer un review para analizar los commits y cambios, esto permite entender qué es lo que se espera fusionar.
-Si un PullRequest no es aprobado, se deben realizar los cambios, hacer un pull y luego si un push para que se vuelvan a evaluar.
-Si un PullRequest es aprobado, pasa a la siguiente etapa de hacer merge. Este merge es semejante a un commit.
Espero que les ayude.
tremenda aclaración gracias
Muy bien explicado, gracias
Code Reviews por medio de Pull Requests son una forma de garantizar que el código producido y compartido sea de la mejor calidad posible y también para que los miembros del equipo comprendan y estén al día con los cambios hechos en el proyecto.
Gracias, perfecta aclaración
Que buen aporte compañero,
Gracias.
Muchas gracias!
Muy buenas notas
Caso ejemplo: Error tipográfico en la rama master
$ git branch fix-typo
$ git checkout fix-typo
Luego de solucionar el problema:
$ git commit…
$ git push origin fix-typo
Luego se crea un nuevo Pull Request de master con fix-typo (En GitHub)
Se puede asignar el Pull Request a un miembro, o agregar miembros para que le hagan review, luego hay que " Crear el pull request " y el request pasa al…
Proceso de Code Review
Los reviewers pueden pedir cambios o aprobar el Pull Request, al terminar esto, quien sea que este a cargo de realizar los merge, debe realizarlo.
(Se debe respetar quien es el que hace los merges para tener consistencia en los Code Reviews)
Ya después se puede borrar el branch fix-typo de GitHub dependiendo de las prácticas de cada equipo
Buen aporte :)
Qué buen aporte compañero.
Resumen hecho gracias a los aportes de varios compañeros😊
Muchas gracias por estos resumenes, me han ayudado a recordar algunos puntos que no supe entender del todo.
Cool bro 😃
R.I.P Anita! ='(
Esc + Shift + z + z
Excelente clase, yo "usaba bien git" y resulta que eso no era nada cierto jajaa.
Esa revelación la tenemos todos los que tomamos este curso.
jajaja
Juan imagínate como nos sentimos, quienes no sabían nada...
Nos creemos Dioses del Olimpo Git y GitHub jajaja
Si usan VSCODE
y quieren cambiar todas las tildes por entidades HTML
pongan CTRL+F en Buscar pongan "á"
y en reemplazar pongan á ahora le dan clic en replace all y listo, asi con todas las vocales.
Qué buen aporte compañero.
Excelente
git pull origin master
git branch fix-typo
git checkout fix-typo
git status
git diff
git push origin fix-typo
git status
git commit -am "Se corrige la ortografia."git push origin fix-typo
git pull origin fix-typo
git commit -am "Se corrige la ortografia con ACUTE"git push origin fix-typo
git checkout master
Gracias por los comandos
Pasos para crear un pull request si eres colaborador
Si eres colaborador solo debes de seguir los siguientes pasos:
Crea una nueva rama (branch) donde vayas a realizar los cambios (también puede ser en la que estas, pero debe ser diferente a master)
Realiza los cambios requeridos
Subelo a GitHub
Ir a pull request
New pull request
Elige que branch proviene el cambio y a donde se hara el pull si se aprueba
En el apartado de la derecha le puedes agregar configuraciones a tu pull request
Cuando estes listo haces click en create pull request (no olvides comentar acerca de los cambios realizados)
Una vez hecho si estableciste a alguien para que lo revisará debe de aprovar el pull request o rechazarla (normalmente se le agrega un comentario)
Una vez aprovado el DevOps (administrador de proyecto) hace el merge
Muy buen aporte gracias.
excelente comentario
vale me queda mas claro el manejo de las ramas, y entiendo que pull request es como un permiso para poder fusionar o hacer merge
solicitud para que revisen cambios
y si estan aprobados hacer un merge
Sinceramente trabajar con GitHub puede cambiarte mucho la vida!!
Github y la colaboración en proyectos open source pueden abrir la puerta a muchas oportunidades y sin duda te van a cambiar la vida :)
Si estan trabajando en otra pc y quieren traer lo que tienen de su repositorio remoto a su repositorio local deben usar
git fetch
asi traen los cambios y los dejan en otro branch
en cambio con
git pull
traemos los cambios y hacemos el merge con la rama actual
Alguien sabe porque se llama pull request en ves de merge request?
Por que tu estas solicitando a un administraodr repositorio del que no tienes permiso de colaborador acreditado integrar tus mejoras o correcciones y el unico que puede y tiene la decision deintegrar esas mejoras o correcciones es el dueño o administrador del repositorio.
Hola Irving, me parece que Freddy lo mencionó en una clase anterior.
Yo entiendo que (visto desde la rama Master), Master tiene una petición para hacer pull del nuevo código.
Así lo entiendo. :D
Tengo una duda, en el video hay dos formas de ver el Pull Request, pero a mi no me sale la caja del New Pull Request, alguien sabe donde se encuentra ubicado actualmente? (supongo que en una modificación lo cambiaron de lugar)
Hola!, yo igual no sabía dónde estaba jaja, tienes que abir la sección "Pull requests" y ahí está el botón
Hola, como se introducen los datos en ese pull-request? aparece una linea de entrada de texto en lugar de base: master compare: fix-typo