Есть много инструментов контроля версий, которые отслеживают все эти вещи. Git , subversion , cvs (используются ссылки на Википедию, которые объясняют каждую из них более подробно. Это можно сделать гораздо проще, когда вы к ним привыкнете.
В обоих случаях есть фиксация того, что вы сделали с сервером (который может быть вашим собственным компьютером). Но вы можете хранить свой код где-то еще (чтобы вы не потеряли все, в случае отказа жесткого диска или чего-то в этом роде). Google Code является хорошим примером.
Git - сложнее в использовании, но очень мощный (чаще используется, когда над одним и тем же проектом работает много людей, и иногда даже над одним и тем же файлом), гораздо проще иметь дело с ветками и тому подобным (если вы не не знаю, что это такое, так что вам, вероятно, это пока не нужно)
svn (subversion) и cvs - проще в использовании, с меньшим количеством доступных ресурсов. Наверное, достаточно для ваших нужд