Quando eu corro git reset --hard HEAD, é suposto redefinir para uma versão original do que você puxou, como eu a entendo. Infelizmente, ele deixa os arquivos por aí, como git statusmostra uma grande lista de arquivos não rastreados.
Como você diz ao git "Basta trazer de volta exatamente o que estava na última tentativa, nada mais, nada menos"?
git reset --hardredefine seu índice e reverte os arquivos rastreados de volta ao estado em que estão no HEAD. Deixa arquivos não rastreados em paz.