Я использую контроль версий git, и у меня есть несколько проектов, использующих один и тот же базовый каталог, хотя некоторые изменения вносятся в проект.
Есть ли способ, которым я мог бы отслеживать с помощью того же репозитория git суперпапку (root/private/core в моем случае), а также как общедоступные, так и частные каталоги конкретных проектов. Кроме того, если я внесу изменения в файлы ядра в одном проекте, я бы хотел, чтобы изменения были внесены и в другие проекты git repo.
Я придумал, как создать репозиторий git в корневой папке, а затем создать ветки для проекта, а не отслеживать другие файлы проекта. Но с помощью этого метода я должен объединить основные изменения в других проектах, и также есть своего рода логическая ошибка, потому что в этом случае ветка будет использоваться как проект.
Я также изучил подмодули, но это тоже не лучшее решение. Если есть решение, которое требует от меня изменить систему каталогов моего проекта, я могу это сделать, хотя я хотел бы сохранить общедоступные, частные и основные каталоги отдельно.
Упрощенный пример моего каталога на данный момент:
- root
- private
- core
- projects
- project1
- проект2
- public
- project1
- проект2
- private
В частной папке проекта есть основные расширения php, которые относятся к конкретному проекту, а в общей папке проекта находятся только таблицы стилей, javascript и index.