Это называется Version Control, и каждый разработчик должен использовать его по умолчанию. Существует много систем контроля версий, посмотрите SVN , Git , Mercurial , и др. .
Некоторые редакторы интегрированы с системой контроля версий, но это всегда отдельная система.