For longer-term projects involving lots of changes to one or more files (such as theses, Clinic reports, and code for either)—especially projects where more than one person will be working with those files—you should seriously consider setting up some sort of version control system.
The fundamental idea behind any revision-control system is that it allows you to keep track of changes to a code base. Most revision-control systems go further, allowing more than one person to work on a set of files at the same time, and mediating between developers so that one developer's work isn't lost when another developer makes changes to the same file or files.
Common terms you will encounter in discussions of revision-control systems are listed in the glossary.
If you haven't used a revision-control system before, we recommend that you use Subversion, a relative newcomer that extends the functionality of the most commonly used system (CVS) while still being simple to use.