¿Cómo editar editores de forma segura en un repository de Github?

He estado trabajando en un proyecto complicado de github que implicaba hacer muchos cambios en el repository una y otra vez. A veces terminé haciendo muchos posts de compromiso desagradables y algunas veces innecesarios que hacen que sea muy difícil para los nuevos desarrolladores entender cómo funciona el proyecto.

¿Cuál sería la forma más segura de editar las confirmaciones y los posts de confirmación?
Actualmente tengo 78 commits y me gustaría hacer cambios a los commits previos (por ejemplo squash commit 34-38 o tal vez editar al post de commit 51 y así sucesivamente).

En cuanto a la parte segura : siempre mantenga una copy de security de su repository y asegúrese de crear una copy de security (copyndo el directory a otra location) antes de hacer cualquier cosa que ensucie el historial de git.

Siempre y cuando solo sea el order de las confirmaciones y los posts que desea cambiar, encuentro que la database interactiva de git rebase -i <sha-of-the-first-commit-you-want-tochange> ( git rebase -i <sha-of-the-first-commit-you-want-tochange> ) es la más intuitiva solución. Abrirá el historial de confirmaciones en un editor y podrás cambiar el order de los commits moviendo las líneas y comprimiendo commits al anteponer líneas con squash . Las opciones y el uso más importantes están documentados cuando lo abre.

Tenga en count que esto cambiará todas las ID de confirmación, por lo que deberá forzarlo a los controles remotos que tengan el historial anterior. Si su repo tiene tenedores o está desarrollado por otros, asegúrese de informarles y considerar si un historial más limpio vale la pena para todos.