Soy muy nuevo en git y me preguntaba si algo como esto es posible.
>git log --pretty=oneline --abbrev-commit
2f05aba Added new feature
3371cec Fixed screw up <-- I want to remove this
daed25c Screw up <-- and remove this.
e2b2a84 First. So it's like they never happend.
es posible?

Si realmente desea eliminarlos (borrándolos del historial, para que nunca más se vean), puede
ejecutar rebase:
y luego, simplemente elimine (o comente) las líneas correspondientes a las confirmaciones que desea eliminar, así:
fuente
git push origin HEAD --forcegit revert. Lo cual, cuando lo piensas, es sensato porque si extraes el código de otra persona, no querrás que puedan borrar tus antiguas confirmaciones sin algún tipo de historial, ¿verdad?dodropes el comando para eliminar confirmaciones del historial.Para eliminar completamente las confirmaciones, ahora hay una nueva opción
droppara las rebases interactivas de git. Primer intento:Luego reemplace
pickcondroppara que se eliminen las confirmaciones:Esto funcionó en Fedora para mí con la siguiente versión:
fuente
Squash es útil cuando desea generar una lista de confirmaciones combinadas bajo un solo hash, pero si está buscando tomar tres confirmaciones separadas y tener una salida final que parece ser una confirmación única, le recomiendo
fixupgit rebase -i HEAD~4Puede encontrar más información en la lista de comandos de la interfaz de usuario de rebase interactiva.
fuente