Я собираюсь поместить базу кода, которая запускает несколько веб-сайтов, в систему контроля версий. Есть несколько экземпляров этой кодовой базы, на которых веб-сайты работают на разных виртуальных серверах.
Проблема, с которой я борюсь, заключается в том, что каждый из этих отдельных экземпляров более или менее одного и того же кода имеет подкаталоги с функциями, специфичными для сайта. Но похоже, что системы контроля версий хотят контролировать всю иерархию каталогов.
Например, у каждого экземпляра есть каталог
/www/smarty/libs/plugins/
, где вы найдете специфичные для сайта функции для smarty. Когда мы будем готовы поместить его в систему контроля версий, папка / www
будет корнем.
Итак, один из вариантов - сделать так, чтобы все специфичные для сайта функции были доступны для всех сайтов. Я не вижу проблемы как таковой, но это кажется архитектурно «неправильным». Будет куча файлов, принадлежащих только одному развертыванию.
Другой вариант - иметь отдельный репозиторий для конкретных файлов каждого сайта в базе кода. Но похоже, что это может быстро превратиться в кошмар при попытке правильно развернуть новые сайты.
Как лучше всего это сделать? Система контроля версий, которую мы рассматриваем, - это подрывная деятельность.