EclipseのJavaプロジェクトでバージョン管理システムにコミット対象にすべきファイルについて、迷うことがありましたので個人的なメモを書いておきます。
様々な意見があるようですが、基本的な考えとしては当たり前のことではありますが「環境毎に異なる設定をすることがありえるファイル」はコミット対象にすべきではないということです。
これは逆に、「環境毎に同じ設定であるべきファイル」はコミット対象にすべきということになります。
補足としては、開発環境を揃えるようなプロジェクトの場合は「環境毎に異なる設定をすることがありえるファイル」はあまりないと思われるので、このような設定ファイルはコミット対象にすることで、環境毎の差異がなくなり、ある環境では動く動かない等の問題はなくなると思います。
上記のような前提を元に以下のようなEclipse特有のファイルを、必要に応じてコミット対象にする/しないを選択することが良いと思います。
・[ProjectDir]/.project
・[ProjectDir]/.classpath
・[ProjectDir]/.settings/*
私の携わったプロジェクトでは、開発環境を揃えることが多かったので上記の3つのファイルもコミット対象にされていました。
ちなみに、mavenプロジェクトの場合は上記の原則には当てはまらないようで、mavenの設定ファイルであるpom.xmlに必要な設定をすべて記載しておくことで、他のEclipse固有の設定ファイルはコミットしないようにするそうです(ここは正直、自分はあまり分かっていないのです)
上記はIDE(統合開発環境)をEclipseとして特定してお話していますが、IntelliJ IDEAなどを使う人がいる場合はそれも考慮する必要がありますね。どちらにしても、環境ごとに必要に応じて選択しなくてはなりません。