Cuando esté un poco actualizado con Git (y DVCS en general), y comience a explorar los cambios de reescritura del historial, estará seguro si el repositorio es solo local, pero podría tener problemas si trabaja con controles remotos e intenta empujar tales cambios.
Una característica que esperaría es la capacidad de habilitar un "modo seguro" que básicamente me impediría hacer lo que no debería hacer ... ¿Y qué quiero decir con eso? Me refiero a cambios en la reescritura de la historia para cosas que ya se han llevado a un origen. No puedo definirlo con precisión, pero esto incluiría casos como:
commit --amend
cuando HEAD ya ha sido empujadorebase
de una sucursal no localreset
de una rama que ha sido empujada
Estos son ejemplos de situaciones que probablemente harán que el próximo push
fracaso (porque no sería un avance rápido, IIRC). Hice algo de eso por accidente y tuve que volver a crear la rama en el control remoto. Y todavía tuve la suerte de hacer esto lo suficientemente rápido como para que nadie sacara la historia que he reescrito.
Creo que es posible identificar este tipo de cambios y, a pedido, evitar que el usuario los haga. ¿Hay tal vez una opción para eso?
Si no lo hay, ¿crees que vale la pena intentar crearlo? ¿Tratarías de definir con precisión cómo identificar tal "cambio peligroso"?
--force
.