you can specify the workspace locn at startup (with -d iirc) so with an alias and/or some bash scripting you can use a separate workspace for each project (I have my projects in ~/proj as subdirs with commands to select which is current - although I only use eclipse for c dev work, intellij idea for java + python).
also, use a separate build tool (eg ant) and don't store build info in eclipse (basically, use as default a config as possible and "import from" the build tool). then if you do need to start from scratch you lose very little (and don't add the eclipse metadata to git).
also, use a separate build tool (eg ant) and don't store build info in eclipse (basically, use as default a config as possible and "import from" the build tool). then if you do need to start from scratch you lose very little (and don't add the eclipse metadata to git).