Una pull request pide que otra persona revise
Una pull request (solicitud de cambios) pide fusionar tu rama en la principal tras una revisión. Sirve para que nadie meta un cambio sin que alguien más lo mire.
En un grupo de cuatro estudiantes, la rama main es la que se entrega. Una revisión a tiempo evita que un error llegue a ella.
Al terminar esta lección
Nota
Puedo proponer un cambio pequeño y revisar el de otra persona con una lista de comprobación.
Palabras clave
| Palabra | Qué significa |
|---|---|
| Pull request | petición de fusionar una rama tras una revisión |
| Revisión | lectura de un cambio por otra persona antes de fusionarlo |
| Diff | lista de las líneas que un cambio añade y quita |
| Aprobar | decir que el cambio está listo para fusionarse |
| Cambio pequeño | cambio con pocos archivos y pocas líneas |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Una pull request tiene cuatro pasos
Primero creas una rama y haces tus commits en ella. Después la subes al remoto y abres la propuesta en la web.
En Gitea hay una pestaña Pull Requests y un botón New Pull Request. La interfaz del laboratorio está en inglés.
Otra persona lee el cambio y comenta o aprueba. Si todo está bien, se fusiona.
Un cambio pequeño se revisa mejor
Una persona lee con atención un cambio de diez líneas. Uno de mil líneas, no. Cuanto más grande es la propuesta, más errores se cuelan.
Antes de pedir revisión, mide tu cambio: cuántos archivos y cuántas líneas tocas. Vas a crear un repositorio y una rama con un cambio, y a medirlo.
Crea un repositorio para la propuesta
git init -q -b main propuestaSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Fija tu nombre de autor
git -C propuesta config user.name "Estudiante"Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Fija tu correo de autor
git -C propuesta config user.email "[email protected]"Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Escribe la carta de partida
printf 'tostada 1.50\ncafe 1.20\nagua 1.00\n' > propuesta/carta.txtSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Prepara el archivo
git -C propuesta add carta.txtSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Guarda el commit de partida
git -C propuesta commit -q -m "Crear la carta"Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Crea la rama de tu propuesta
git -C propuesta switch -c precio-cafeSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Cambia el precio del café
printf 'tostada 1.50\ncafe 1.30\nagua 1.00\n' > propuesta/carta.txtSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Guarda el cambio en la rama
git -C propuesta commit -q -am "Subir el cafe a 1,30"Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Mide el cambio antes de pedir revisión
El comando git diff --numstat main precio-cafe da una línea por archivo: líneas añadidas, líneas quitadas y el nombre. Con --name-status ves una letra por archivo: M si se modificó, A si se añadió, D si se borró.
Con git log main..precio-cafe ves solo los commits que la propuesta añade.
Cuenta líneas añadidas y quitadas
git -C propuesta --no-pager diff --numstat main precio-cafeSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Mira qué archivos cambian
git -C propuesta --no-pager diff --name-status main precio-cafeSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Lista los commits de la propuesta
git -C propuesta --no-pager log main..precio-cafe --format=%sSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Quien revisa sigue una lista de comprobación
Una buena revisión no es una opinión. Es una lista de preguntas que se repiten en cada propuesta.
La tabla siguiente es una lista de ejemplo para un grupo pequeño. Cada grupo escribe la suya.
Una lista de comprobación de ejemplo
| Pregunta | Por qué importa |
|---|---|
| ¿Toca pocos archivos? | Un cambio pequeño se lee entero |
| ¿Tiene una descripción? | Quien revisa necesita saber el motivo |
| ¿Cada commit tiene un mensaje claro? | El historial se entiende dentro de meses |
| ¿Incluye algún archivo secreto? | Una clave subida queda en el historial |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Un error frecuente
Advertencia
Mucha gente cree que una propuesta grande demuestra más trabajo. En realidad nadie la lee entera, y los errores pasan. Divide el trabajo en propuestas pequeñas, cada una con un solo motivo.