I'm of the opinion that artifacts of IDEs an OSes should not be part of a projects .gitignore. After all, different people could be using different environments for development and I really don't see the need for a projects .gitignore to contain the subset of all possible artifacts.<p>Use .git/info/exclude or a repository independent personal .gitignore for this.<p>The projects file is for files created by running the code or maybe some unavoidable build artifacts happening in all cases (.o files for example)<p>I really hate commits with messages like "updating .gitignore for Joe's new IDE"
Some projects like Git itself refuse to add editor droppings like <i>~ and #</i> to .gitignore. They consider the .gitignore file to be <i>only</i> for things that the build system produces, e.g. *.o and binaries.<p>If you want to ignore things that your editor adds you should add it in .git/info/excludes, not .gitignore.
If you are using Django/Python, it might be useful to add *.pyc to your gitignore. These are compiled python files.<p>Also, if you're developing on a Mac, it would also be useful to add .DS_Store. It's an invisible file, and it just stores some properties of that directory,