.gitignore
.
It also resets all tracked files to their versioned state.
This ensures that the workspace is
in the same state as if you cloned and checked out in a brand-new empty directory, and ensures
that your build is not affected by the files generated by the previous build.