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.
Use .git/info/exclude or a repository independent personal .gitignore for this.
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)
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 ~ and # to .gitignore. They consider the .gitignore file to be only for things that the build system produces, e.g. *.o and binaries.
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.
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,
Probably because sometimes you want to check libraries into your project. For custom jars, I'd immagine you'd want to specify their paths exactly, or something like (bin|build)/*.jar
Can't you exclude all jars by default and add whatever libs you do want to check in? I don't know too much about git, but that is how I would do it in Mercurial. (In Mercurial, if you specify an explicit filename, it overrides .hgignore.)
Use .git/info/exclude or a repository independent personal .gitignore for this.
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)
I really hate commits with messages like "updating .gitignore for Joe's new IDE"