Quando você está familiarizado com o Git (e o DVCS em geral) e começa a explorar as mudanças na reescrita do histórico, está seguro se o repositório for apenas local, mas poderá encontrar problemas se trabalhar com controles remotos e tentar empurre essas mudanças.
Um recurso que eu esperaria é a capacidade de ativar um "modo de segurança" que basicamente me impediria de fazer o que eu não deveria fazer ... E o que eu quero dizer com isso? Quero dizer mudanças na reescrita da história para coisas já enviadas para uma origem. Não posso defini-lo com precisão, mas isso incluiria casos como:
commit --amend
quando HEAD já foi pressionadorebase
de uma filial não localreset
de um ramo que foi empurrado
Estes são exemplos de situações que provavelmente causarão a próxima push
falha (porque não seria um avanço rápido, IIRC). Fiz isso por acidente e tive que recriar a filial no controle remoto. E ainda tive a sorte de fazer isso rápido o suficiente para que ninguém fizesse parte da história que reescrevi.
Acredito que é possível identificar esse tipo de alterações e, sob demanda, impedir que o usuário as faça. Existe talvez uma opção para isso?
Se não houver, você acha que vale a pena tentar criá-lo? Você tentaria definir com precisão como identificar uma "mudança perigosa"?
--force
.