Revertir líneas de selección de un file en Git

Realicé cambios que agregaron algunos códigos y eliminaron algunos códigos. Ahora, quiero deshacer esto. Hay otros cambios en el file (junto con otros files modificados en la confirmación) que no quiero deshacer, por lo que una reversión estándar de git no funcionará. Lo que quiero es crear una confirmación que deshaga estos cambios de selección proporcionando los numbers de línea. Y preferiblemente una técnica que me permita usar mi cliente GUI (Github Desktop) para seleccionar los cambios / numbers de línea en el diff. ¿Cómo voy a hacer esto?

Probablemente hay varias maneras de lograr esto, pero yo iría con algo como:

# stage a reversion of the given commit without making a commit of this reversion git revert -n <hash-of-commit-to-partially revert> # Unstage these changes so the reversion is only in the working tree git reset # Selectively stage only the parts which make the reversions which you want git add -p <path-of-interest> # Optional: discard other changes from the working tree for testing # (you might need to "git clean" if you are discarding the reversion # of a change that originally removed a file) git checkout -- . # Commit the selective reversion git commit