¿Cómo puedo corregir una ID de cambio incorrecta cuando presiono a Gerrit?

Presiono a Gerrit y mi código se revisa de manera que se hagan comentarios válidos. Realizo los cambios y hago un nuevo compromiso y empuje, suponiendo que haya creado un nuevo set de parches.

Sin embargo, me olvidé de marcar la casilla 'Modificar compromiso' en IntelliJ:

enter image description here

Esto significa que la nueva confirmación se envía a Gerrit con una nueva ID de cambio, por lo que el cambio no se asocia con la inserción anterior. Ahora mis revisores no pueden (fácilmente) establecer la connection entre los 2 cambios, ni nadie puede ver esto en el futuro.

Mis posts de confirmación son multilínea, por lo que no se pueden modificar fácilmente en la command-line si quería hacer una git amend .

Mi enfoque ha sido tratar de deshacer el 'mal' compromiso — pero termino confundiéndome en Git Hell.

Terminé:

  1. comprobando el origen / maestro en un nuevo repository en mi computadora portátil y
    haciendo manualmente mis cambios nuevamente (sí, realmente), luego
  2. desactivando el enganche commit-msg en mi directory .git / hooks, luego
  3. hacer una confirmación con el ID de cambio deseado agregado manualmente al post, luego
  4. empujando a Gerrit.
  5. Finalmente, vuelvo a activar el gancho commit-msg

Esta no puede ser la mejor manera de hacerlo. Funciona, pero no puede ser la mejor manera de hacerlo.

¿Qué hacer?

Debería aplastar los dos últimos en uno, manteniendo en el post el ID de cambio inicial. La calabaza te permite combinar diferentes compromisos en uno. Se lleva a cabo en el process de rebase interactivo. La explicación para hacerlo usando la línea de command.

Puedes usar este ejemplo para hacer usando la interfaz.