Something I should have done when I started grad school is maintain a bibliography. Throughout college and high school I used EasyBib or some other simple software to generate citations. Google Scholar will also generate citations in multiple formats, but accuracy varies.
There are software available to make data entry easier. I tried JabRef, which is a JVM based citation manager. JabRef compiles bibtex files. The interface is reasonably designed. Then I tried Zotero, which features web browser integrations. I like Zotero, the gtk gui looks nice and runs smoothly. The web browser plugin makes submitting entries with metadata fields filled in much easier. Zotero is the most convenient choice.
I will be storing my bibliographies in my practice git repository here