Я согласен с @BasileStarynkevitch - Git - это все, что вам нужно.
Вероятно, вам нужен только хороший графический интерфейс для Git, чтобы вам было легче видеть, что происходит.
Git предназначен для программистов, для обработки большого количества исходных файлов, распределенных по нескольким подкаталогам.Ваш вариант использования немного отличается, но вы все равно можете использовать Git для него.
Ранние системы контроля версий (RCS, SCCS) сделали то, что вы только что описали в своем вопросе - но это оказалось беспорядкомпотому что любой реальный проект обычно имеет больше, чем один файл ;-) и легко забыть проверить файл, если каждый обрабатывается его собственным контролем версий.(не делайте этого)
Поэтому вместо того, чтобы думать «Мне нужно получить предыдущую версию файла A и другую версию файла B», попробуйте подумать о создании снимков во время вашего полного проекта, когдавы используете Git.например, "мини-релизы" вашего проекта.Если ваш проект LATEX, то вы пишете книгу или публикацию - возможно, регистрируете свои изменения каждый раз, когда вы делаете обновление, и рассматриваете это как «мини-релиз» ..
Использование графического интерфейса пользователя для Git поможет вам увидеть различия между файлами, ветвями, тегами и т. Д. Git имеет функции для встраивания содержимого из более ранних версий файла в текущий файл - так что это не проблема сGit.Существуют также инструменты для просмотра и редактирования параллельных различий.