On 30 Apr 2012, Darrell Anderson verbalised:
We use 'git reset' to move back in time. I don't know whether a git reset deletes files or only moves to where HEAD is being pointed.
This depends.
"git reset --soft" just moves HEAD. The index is unaffected, so everything that has changed between your current position and the point you reset to is now listed as a 'change to be committed' in 'git status'.
"git reset --mixed" (the default) moves HEAD and wipes out the index, but leaves the working tree unaffected.
"git reset --hard" wipes out the working tree, the index, everything. It doesn't touch untracked files, though.
And, the most extreme, "git clean" wipes out untracked files (possibly including ignored ones and whole unknown directories, see the manpage).
This is a right terminological mess, I must admit.