Skip to content

Instantly share code, notes, and snippets.

@mexomagno
Created June 24, 2022 17:10
Show Gist options
  • Save mexomagno/5659d16f815f758b7e8c0b754b17d2cf to your computer and use it in GitHub Desktop.
Save mexomagno/5659d16f815f758b7e8c0b754b17d2cf to your computer and use it in GitHub Desktop.
Pull Requests: What, why and How

Pull Requests: What, why and how

Nota

Se asume que se está siguiendo un flujo de desarrollo a la "gitflow", esto es, se tiene al menos branches:

  • develop: Ultimos features, estado del arte. No necesariamente estructurado en iteraciones
  • staging: Pre-release, features seleccionados para siguiente versión, listos para ser testeados, QA-eados y reparados. (fixes también hay que irlos tirando a develop)
  • main: Versión estable, release funcional, mapea 1 a 1 con el estado del servidor de producción. Producción nunca debería estar en otra rama que main

La idea es que git + github hagan la pega por nosotros, y nosotros enfocarnos sólo en lo que nos importa: Desarrollar software de calidad.

Pull Requests

(o su equivalente de Gitlab: "merge" requests) Es una solicitud de integración de nuevos cambios

Ventajas

  • ✅ Promueve desarrollo incremental autocontenido
  • ✅ Muchísima mejor visibilidad de cambios (a través de diffs)
    • Facilidad para revertir cambios en caso de ser necesario
    • Commits normales pueden entremezclarse cuando se hacen merges de avances de distintas personas. PRs ayudan a agrupar commits por "unidad incremental"
  • ✅ Posibilidad de agregar descripción
    • Markdown, admite formato, links, imágenes, y básicos
    • Puedo referenciar entre pull requests de front y back: Obligo a reviewer del PR a revisar ambos en conjunto como una misma unidad.
    • Puedo agregar instrucciones antes de mergear si es necesario (ejemplo: Modificar base de datos, instalar tal herramienta, etc.)
  • ✅ Facilita trabajo en equipo (Visibilidad compartida)
  • ✅ Facilita peer-review: Asignación de revisión a compañeros
  • ✅ Visibilidad historica

Cómo se hace en Github? 🐱🐙

  1. Ir a Pull Requests
  2. Seleccionar ramas de origen (donde estan mis nuevos features) y destino (hacia donde quiero que se mezclen)
  3. Mostrará un preview de las diferencias entre lo antiguo y lo nuevo. Crear PR
  4. Agregar descripción. Ayuda enriquecer el formato un poco usando notación Markdown
  5. Opcional: Agregar tags ("Work in progress!" por ejemplo), asignar reviewers, agregar comentarios... y otros.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment