A resposta está na sua pergunta:
Note that I haven't made any commits yet, just branching.
Se você não confirmar, as alterações serão sempre mantidas em seu diretório de trabalho. Alternar o ramo não afeta seu diretório de trabalho, e o diretório de trabalho também não afeta seu último commit. Você está vendo que o arquivo foi excluído, mas a realidade é que ele é excluído apenas do diretório de trabalho. Se você quiser limpar as alterações e retornar ao último commit use este comando:
git reset --hard HEAD
O arquivo será restaurado novamente.
Talvez não seja uma lógica para você, mas esse comportamento pode ser útil. Imagine que você tenha duas ramificações: master
e development
e sempre trabalhe com development
antes de mover as alterações para master
. Digamos que você tenha esquecido de mudar para development
antes de começar a trabalhar, então, antes de confirmar, você percebeu que está em master
. A solução é simples, basta mudar para development
e depois confirmar.