¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Pull request: proponer y revisar cambios

Después de esta lección: Puedo proponer un cambio pequeño y revisar el de otra persona con una lista de comprobación.

Lección de 60 min12 comandosLaboratorio de Git y Gitea: aprende clone, commit y push en un servidor Git propio

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

PalabraQué significa
Pull requestpetición de fusionar una rama tras una revisión
Revisiónlectura de un cambio por otra persona antes de fusionarlo
Difflista de las líneas que un cambio añade y quita
Aprobardecir que el cambio está listo para fusionarse
Cambio pequeñocambio 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

Comando
git init -q -b main propuesta

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 nombre de autor

Comando
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

Comando
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

Comando
printf 'tostada 1.50\ncafe 1.20\nagua 1.00\n' > propuesta/carta.txt

Se 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

Comando
git -C propuesta add carta.txt

Se 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

Comando
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

Comando
git -C propuesta switch -c precio-cafe

Se 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é

Comando
printf 'tostada 1.50\ncafe 1.30\nagua 1.00\n' > propuesta/carta.txt

Se 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

Comando
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

Comando
git -C propuesta --no-pager diff --numstat main precio-cafe

Se 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

Comando
git -C propuesta --no-pager diff --name-status main precio-cafe

Se 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

Comando
git -C propuesta --no-pager log main..precio-cafe --format=%s

Se 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

PreguntaPor 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.

Sobre este laboratorio y su código: Laboratorio de Git y Gitea: aprende clone, commit y push en un servidor Git propio

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.