Как уже написали стоит использовать системы контроля версий. Например Git. Если нужны бесплатные приватные репозитории, то можно пользоваться gitlab или bitbucket.
Лично я дома использую следующую схему:
На сервере гипервизор esxi. Одна из виртуалок gilab-ce. В другой виртуалке развернул jetbrains youtrack. В проектах youtrack настраиваю синхронизацию с репозиториями из gitlab.
В качестве IDE использую phpStorm, в котором настроена синхронизация задач с youtrack.
Когда проект приходит в работу:
1) Создаю репозиторий в gitlab.
2) Создаю проект в youtrack
3) Настраиваю в youtrack синхронизацию с репозиторием
4) В youtrack нарезаю проект на задачи
5) На рабочей машине создаю проект в phpstorm и настраиваю в нем синхронизацию задач с youtrack.
Дальше при работе над конкретными задачами в phpstorm ставлю выполнение тех или иных задач, через tools->Tasks&context
А теперь для чего все это нужно:
Иногда встречаются повторяющиеся задачи, но тяжело вспомнить в каком проекте они реализовывались. А так в результате всех этих манипуляций, я имею историю работы над всеми проектами в yotrack. Причем сразу видно описание задач, в которых можно отследить какие изменения в код вносились по той или иной задаче. Например вот так это может выглядеть
https://yadi.sk/i/WER-B7yB3L5ybN . Теперь почитав описание задачи, можно открыть вкладку VCS и сразу перейти в коду.