git: ¿Cuál es la "forma correcta" de corregir un post de compromiso incorrecto?

Escribí un post de compromiso incorrecto, y lo he llevado al control remoto. No hay pocas preguntas que ya se ocupen de esto:

  • ¿Cómo modificar las confirmaciones existentes sin flujo?
  • Intento empujado accidentalmente: cambiar el post de confirmación de git

son solo una pareja. Pero todos parecen terminar con git push --force , y la advertencia adicional sobre por qué esta es una mala idea – edita la historia, lo que significa que todos los que usan el repository sufren cuando intentan extraer. No parecen decir qué es lo "correcto" para hacer.

Entonces, ¿cuál es la forma recomendada o "correcta" para lidiar con esta situación? Pensé que podría agregar un post adicional con git commit --allow-empty , pero supuestamente hay " raramente una buena razón para hacer esto ". ¿ --allow-empty hecho, es el path correcto para arreglar las cosas? Si no, ¿cuál es el path correcto?

Nota : Hacer las cosas de la "manera correcta" puede implicar "admitir que me equivoqué". Como un ejemplo de lo que estoy buscando, la página man de git tag tiene una discusión sobre regrabar tags presionadas. Discute claramente los methods para volver a labelr commits incorrectamente labeldos, dando tanto un curso de acción recomendado como una manera de hacer las cosas.

Una cosa que puede hacer es agregar una nota al commit, por ejemplo, git notes add -m "Here is my note" head~1 . Esto aparecerá en el git log sin cambiar el compromiso. Otra alternativa es agregar una label anotada a la confirmación, por ejemplo, la git tag -a tag-summary -m "Here are the tag details" head~1 . Prefiero el enfoque de label, ya que las tags aparecen en la vista de logging de la mayoría de las herramientas, mientras que las notas no (aunque aparecen en el git log ).