¿Qué cambia y qué conserva git reset --soft HEAD~2?
git reset --soft HEAD~2
Deja HEAD fijo y solo quita del área de preparación un archivo.
Mueve HEAD y la rama dos commits hacia atrás, manteniendo intacto el contenido del índice y del árbol de trabajo.
Mueve HEAD y elimina los cambios posteriores tanto del índice como del árbol de trabajo.
Elimina las dos últimas entradas del reflog.