Often a user may not want to release all resources in their project to the repository. For example, external editors may create temporary files in your project, compilation of .java files creates .class files, and likewise many build operations result in binary files. These files, when taken together, may be quite large. In addition, they may be re-generated whenever a build is performed, resulting in many outgoing changes. Typically these are not files that one wants to share with other members of a team or persist in the repository.
There are two mechanisms available for specifying which resources should not be released to a repository: