Restablecer todos los cambios de la copy de trabajo

Estoy trabajando con SourceTree y me gustaría restablecer todos los cambios que he hecho en mi copy de trabajo.

Para algunas testings, creé tres files de class Java, uno nuevo, uno que he actualizado y el último que he eliminado de mi copy de trabajo:

New.java Update.java Remove.java 

Restablecer Todo funciona bien para el file de class eliminado y actualizado, pero no para el nuevo:

enter image description here

enter image description here

Después del reinicio tengo que eliminar la class New.java manual:

enter image description here

Resumido:

Después de Restablecer Todas las actualizaciones en el file Update.java desaparecieron y el file Remove.java eliminado se restauró. ¡Perfecto! Lo único que no entendí es por qué tengo que eliminar el nuevo file New.java manualmente? ¿Podría ser que tengo algún malentendido?

¡Gracias por adelantado!

Si New.java es un file nuevo que nunca se ha creado, git reset nunca eliminará ese file ya que git no sabe qué hacer con él. Efectivamente, New.java es un file sin seguimiento y git no le hará nada a este file hasta que lo agregue al escenario.

No conozco SourceTree, pero creo que 'Reset All' es como hacer el git checkout . que revertirá todos los files rastreados como usted describió. Para eliminar files sin seguimiento, el equivalente de la command-line sería git clean -f o si los directorys están afectados git clean -fd y también include files ignorados por .gitignore y git clean -fdx similares. Así que supongo que buscas una opción Clean All en SourceTree para deshacerte de los files sin seguimiento.