Всем программистам известны системы контроля версий (VCS), без которых современная разработка фактическа невозможна. Эти системы умеют отслеживать и фиксировать изменения в файлах в определённой директории. Историю изменений можно просматривать, между разными версиями файлов можно просматривать разницу, можно восстанавливать файл в определённой версии, а главное - над файлами можно работать коллективно и каждое изменение закреплено за определённым пользователем. Популярными системами контроля версий являются Git, Mercurial, SVN. В интернете можно легко найти сравнение этих систем и выбрать ту, что по душе.
Часть этого функционала имеют и простые текстовые редакторы. Вот обзорная статья 2013 года об этом. Освоить такие редакторы проще, однако функционал у них гораздо беднее. Выбирайте по вкусу.