En nuestro repository de Git tenemos algunas fusiones de sucursales que deberían haberse fusionado con --no-ff
pero no lo estaban. Estas fusiones se hicieron hace mucho time.
¿Hay alguna forma de forzar / insert un compromiso como si estuviéramos ejecutando esas fusiones antiguas con el argumento --no-ff
?
Uno de los supers del proyecto disfruta de la vista de networking de GitHub y quería poder ver las twigs individuales, que se fusionan en una sola línea cuando se produce un avance rápido.
Si no te importa tener una nueva twig principal / principal (o sobrescribir la anterior, pero restring que reescribir el historial publicado es MALO ), simplemente puedes volver a crear las fusiones, si todavía lo restrings, cuando eran / deberían tener sido hecho:
Verifique la primera combinación olvidada / inexistente / perdida :
git checkout -b new_master $commit_before_merge
Fusiona los viejos commits. Si desea los posts de fusión adecuados (incluido el nombre de la twig original), puede volver a crear la twig anterior temporalmente o editar el post a mano.
git merge $head_commit_of_old_branch
Tendría que usar cherry-pick
o rebase
para copyr las confirmaciones de la twig maestra original a la nueva twig "mergy". (selección de cereza con intervalos de compromiso requiere un lanzamiento reciente de Git)
git cherry-pick $commit_before_merge..$commit_before_next_merge
Regrese al paso 2 y repita hasta que esté satisfecho con la historia.
NÓTESE BIEN. tener copys de security y testings en un clon local primero.