Actualización: Como han señalado otros, no vuelva a hacer ningún tipo de reescritura, o reescriba el historial de cualquier tipo si ha enviado a un origen remoto y ha compartido este código con otros desarrolladores. Respuesta corta: ¡es peligroso y arriesgado!
Recomiendo consultar el comando rebase para esto. Hace exactamente lo que está pidiendo
Lo que esto hace es tomar compromete más pequeños y combinarlas en los más grandes
utilizarlo:
git rebase -i HEAD~5
su editor aparecerá con los últimos 5 commits del jefe de la rama actual, con algo de documentación. En su caso, querrá usar squash
. El sitio he vinculado lo explica muy bien, tienen este ejemplo:
pick 01d1124 Adding license
squash 6340aaa Moving license into its own file
squash ebfd367 Jekyll has become self-aware.
squash 30e0ccb Changed the tagline in the binary, too.
Esto compromete empaquetar los 3 anteriores y poner a todos bajo el que usted ha marcado como pick
. Luego puede modificar el mensaje de confirmación y demás.
Diviértete
Consulte también http://stackoverflow.com/questions/2302736/trimming-git-checkins-squashing-git-history/2302947#2302947 para comprimir confirmaciones – VonC
También le recomendamos que agregue un enlace de precomisión para ayudarlo revisa tu estilo de codificación Con eso, puedes hacer que git se queje si intentas cometer un código que viola algunos estándares que has establecido. ¡En primer lugar, puede ayudar a evitar compromisos erróneos! El ejemplo de enlace previo a la confirmación ('.git/hooks/pre-commit.sample') busca elementos como espacios al final de las líneas. Podría ajustar la sangría de GNU en una secuencia de comandos, por ejemplo, para imponer un estilo de codificación específico, y poner eso en su gancho precompromiso. –