¿Es seguro enmendar el post de compromiso pasado?

Estaba siguiendo este documento para enmendar un post de compromiso ya enviado. Ahora tengo mi sucursal local que contiene el post modificado y copys de todas las confirmaciones posteriores al enmendado.

Sé con certeza que otras personas ya han retirado esos compromisos.

¿Es seguro presionar mi twig local? ¿Cuáles serán las consecuencias para los demás?

Si modificó alguna confirmación, significa que ha reescrito el historial de esa twig. Tenga en count que solo cambiar el post de confirmación significa que Git creó un nuevo compromiso en lugar del anterior. No sé si usaste una rebase interactiva, una twig de filter o un git commit --amend , pero no cambiará mucho la situación.

Las consecuencias de impulsar esta twig son que todos los que usan esta twig pueden get una combinación de compromiso cuando intentan extraer. El motivo de esto se puede ver en el siguiente diagtwig:

 remote: A -- B -- C -- E # you rewrote D to C local: A -- B -- D -- E 

Cuando uno de tus colegas intenta tirar, Git encontrará que el compromiso B es el ancestro común entre la twig local y remota. Primero intentará avanzar rápidamente la twig local con C -- E , pero luego se dará count de que esto tampoco es posible, porque la twig local se ha separado y tiene su propio set de confirmaciones encima de B Como resultado, Git terminará creando un commit de fusión con los cambios desde el control remoto. Pero esto includeá ambos commits C y D , lo que podría llevar a rarezas.

La única exception a esto sería alguien que no haya tirado de la twig desde commit B o anterior. En este caso, esa persona no se daría count de que reescribió ese compromiso, porque su historia local no tenía conocimiento de este compromiso en primer lugar.

Tenga en count que si desea continuar, sus colegas pueden querer hacer esto:

 git fetch origin # update tracking branches git reset --hard origin/master # reset local master to remote (effectively overwrite)