I would like to add few more points that were not covered in the other answers.
No matter what tool you use, put it under revision control. I would recommend to use
git and put your file on a public repository (like
github or similar service). Versioning control will give you several advantages:
- Backup. If you indeed put it on a remote server, then you have a built in backup.
- Safe. If your file was messed up for some reason, or went through a fundamental revision, you can always roll back to older versions.
- Finally, if you choose
git you could apply the solution proposed by Andriu Svelykislt.
You didn't mention what is the workflow in which you will use the file(s). If you're the only user - then I would go for one central file (which is under revision control), and link to it from the various projects. This way you could maintain only one file, and changes will be reflected in the various projects. If instead of soft links you use
git submodule you could gain even more power. For example, each project will be associated with a specific version of the central file. Note the dangers of
Everything becomes way more tricky, if you are not the only user of the
bib file. This is an altogether story, and in my mind it is worthy to invest some time, and discuss a workflow with your collaborators.
Answering your question more directly, I used both
bibdesk and ended up with
emacs. I maintain my files using
emacs directly. It is not perfect but I find it efficient enough.