Git – ¿Cómo mover el subpath a una nueva twig y presionarlo cuando el server no permite la confirmación con la identificación de diferencia?

Tengo un repository con una estructura como esta:

/MyProject /Module1 /Module2 /Experimental /Module1 /Module2 

En el cual, Experimental contiene el código experimental; Sé que esta no es la mejor práctica para Git, pero la gente lo hizo en el pasado. Ahora, necesitamos hacer que Experimental se convierta en una twig para MyProject. solía

 git subtree split -P Experimental -b Experimental_Branch 

Y creo exitosamente una nueva twig en mi local con todas las confirmaciones de historial conservadas. Pero cuando lo empujo hacia el origen, recibí muchos posts:

  ! [remote rejected] Experimental_Branch -> Experimental_Branch (aae0fd6b9bf47b723cd96c95653faa3c1b7599e8 by someone <someone@email.com> was not committed by me <me@email.com>) 

Lo sé porque el server de Git está configurado para evitar que un usuario presione la confirmación de otro. Pero ahora tenemos tanta gente comprometida con esto, por lo que nadie puede llevar esto al server. No nos importa quién cometió la revisión, sino solo los loggings de cambios y confirmaciones. ¿Cómo puedo impulsar esto? ¿Podría restablecer todos los commits a la identificación de mina?

No nos importa quién cometió la revisión, sino solo los loggings de cambios y confirmaciones.

Entonces podrías:

  • cambiar las confirmaciones pasadas para restablecerlas a me <me@email.com> (con git filter-branch , como en este script de GitHub ).
  • Luego git push esa twig.