Best Practice for Adding .gitignore to Repo

What is the best practice regarding the .gitignore file with Git; should it be excluded from the repository or included? If it's conditional, what are the conditions for each circumstance?


They should almost always be included, as their purpose is to ignore "output" files (compiled binaries, log files) which are going to be generated by anybody working with a clone of your project. They're meant to be version-controlled and included with the repository.

You should not use .gitignore files within the repository to ignore files that only appear for you, such as editor-specific swap files. You should be placing those rules in a global .gitignore file so that they apply to all repositories, or in .git/info/excludes.