Gerrit: combina múltiples compromisos en un solo "cambio"

Como una buena práctica de Git, uno debe comprometerse con frecuencia, pero para revisar el código es posible que deba revisar un parche que consta de varias confirmaciones a la vez. ¿Existe alguna manera de revisar múltiples commits y fusionarlos o rechazarlos a la vez?

No, Gerrit actualmente no admite confirmaciones por lotes en una sola revisión. Sin embargo, hay un par de otras opciones.

En $ DAYJOB, mi equipo usa twigs de características para cambios más grandes. Las confirmaciones más pequeñas se revisan / fusionan a la twig de características de forma individual, pero la twig de características solo se fusiona una vez que todo está en un buen lugar y todos los desarrolladores están contentos.

Gerrit también admite twigs temáticas, que son una forma conveniente de agrupar las confirmaciones relacionadas. Se discuten brevemente en la documentation . Estas confirmaciones aún deben revisarse / fusionarse individualmente, pero se pueden agrupar rápidamente en la interfaz de usuario web.

Una cosa es que puedes hacer una combinación squash a una twig temporal y luego publicar ese cambio para su revisión.

git checkout -b feature git commit -m "start feature" ... git commit -m "finish feature" git checkout -b feature-review master git merge --squash feature git commit 

Ahora su twig de feature-review contendrá la misma diferencia con respecto al master que la feature , pero con solo una confirmación.

Si necesita actualizar las requestes de revisión ya publicadas, puede aprovechar commits de modificación:

 git commit --amend -C HEAD 

y luego presionar para una revisión consecuente.

Creo que las confirmaciones públicas deben ser atómicas y contener el set completo de funcionalidades a las que desea contribuir. Por lo general, no desea compartir todas sus confirmaciones intermedias. Así que aplastar confirma antes de la revisión es una buena idea.