Se os commits já foram publicados, você não deve reescrevê-los para qualquer propósito (exceto remover vazamentos acidentais de dados), já que isso mudaria seus IDs de commit. (Lembre-se que cada ID de commit é baseado em hashes SHA-1 de seu conteúdo e seu commit pai).
Isso significa que seria necessário reescrever (e renunciar) todos os commits subsequentes, e causaria problemas para qualquer um que já tenha obtido qualquer um desses commits.
Mas pelo mesmo motivo, você não precisa assinar esses commits explicitamente, pelo menos não para fins de integridade de dados. Como cada commit contém IDs baseados em SHA-1 de seus pais, a verificação de qualquer commit individual também verificará implicitamente todo o seu histórico através da cadeia de hash. Não importa que a cadeia seja um pouco mais longa ou mais curta.
Por outro lado, se você não confiar no SHA-1 para segurança, considere a assinatura do commit totalmente inútil, pois o conteúdo do arquivo do commits também é referido pelos hashes SHA-1 . A única coisa que você assina diretamente (e não um hash dela) é a mensagem de commit.