Por lo general, para descartar cambios en un archivo que haría:
git checkout -- <file>
¿Qué sucede si el cambio que deseo descartar es eliminar el archivo? La línea anterior daría un error:
error: pathspec '<file>' did not match any file(s) known to git.
¿Qué comando restaurará ese archivo único sin deshacer otros cambios?
punto extra: Además, ¿qué sucede si el cambio que deseo descartar es agregar un archivo? Quisiera saber cómo eliminar ese cambio también.