Avoid checkout to fail because of untracked files
Remove the untracked files after a `reset hard`

I think most people expect this behavior
Use the `reset` method instead of running the git command
Reset after checkout in every cases