¿Cómo agregar el ID de cambio de gerrit a una confirmación anterior?

Pocos se comprometen, hice una confirmación que no tiene ID de cambio. Desafortunadamente, esto ocurre cada vez que fusionas twigs en el tree fuente sin desmarcar "Commit fusionar inmediatamente".

Necesito urgentemente enviar el código a Gerrit ahora, pero no puedo porque uno de los commits no tiene ID de cambio.

¿Cómo puedo volver a agregar la ID de cambio a una confirmación anterior?

Supongamos que el historial de compromiso es ABCDE y falta la identificación de cambio en B No soy un usuario del tree fuente, por lo que daré commands en la terminal:

 git reset B --hard #assuming you have installed the hook commit-msg that generates the change id. git commit --amend git cherry-pick CDE #OR: git cherry-pick B..E 

Puede hacer una rebase interactiva en origin/master asumiendo que el origin/master es el HEAD remoto con el que está trabajando. Puede replace origin/master con lo que desee.

 git rebase -i origin/master 

Al hacerlo, será rápido todo el compromiso antes de origin/master en mi ejemplo. Debes elegir todos los commits excepto el que no tenga Change-ID. Para eso, necesitas editar el post. Haciendo eso, el ID de cambio se agregará automáticamente.

Recursos externos: Git Rebase interactivo