Quais são as consequências práticas de reescrever a história do GIT?

Nosso projeto tem usado o git por uma semana ou mais agora, e todos nós estamos curtindo muito (usá-lo em um grupo colaborativo apertado acaba sendo uma experiência git completamente diferente). Para manter as coisas o mais simples possível, não fazemos quaisquer modificações de rebase ou histórico. Mas cometemos alguns erros na primeira semana. Alguns commits foram feitos que não deveriam ter sido feitos, e nós conseguimos mesclar um branch de recursos na ramificação de integração errada (1.1 em vez de 1.0). E nós não descobrimos essas coisas até que elas estivessem há muito tempo na nossa história.

Agora vejo muitos avisos sobre a reescrita da história, mas não tenho certeza se entendi os perigos envolvidos. Usamos um repositório nu compartilhado e todas as ramificações são enviadas para backup.

Eu esperaria que, se você reescrever o histórico (por exemplo, remover um commit), a lista completa de commits subseqüentes "perderá" o commit (e talvez não compile / trabalhe). Eu também esperaria que, se isso acontecesse, eu pudesse realmente escolher corrigir isso no topo da história (e deixar essa parte da história como não-compilada).

Se eu reescrever o histórico (e tudo compilar / funcionar em todos os ramos afetados), meus colegas de trabalho precisarão fazer algum comando especial)? (Em outras palavras, eles "saberão que eu fiz" se eu fizesse bem?)Algum usuário com alterações locais que eu desconheço esteja qualificado para falhas de mesclagem no git pull?Estou faltando alguma coisa essencial aqui?

Qualquer referência a artigos / tutoriais sobre este assunto também seria muito legal.