Whenever I switch workspaces/Eclipse installs I need to copy/redo the preferences:
You could of course export/import those settings.
The other approach is to enable project specific settings for some settings.

We have a very small Git repository with those kind of files:

.settings/org.eclipse.jdt.core.prefs (compiler problem settings and formatter rules).settings/org.eclipse.jdt.ui.pref (cleanup rules, common code templates)The common settings are just copied/merged in each projects .settings directory, ensuring common rules amongst all projects, whatever the workspace.