Наконец, я включил управление зависимостями GitHub и Composer в свой рабочий процесс. Это определенно огромный шаг вперед, хотя я очень смущен тем, что GIT управляет "вложенными" зависимостями.
Поскольку я использую потрясающий Wordpress Stack ROOTS/BEDROCK, моя упрощенная структура каталогов выглядит так:
|-- /project
| |-- /.git // git repository for the skeleton/stack of the project
| |-- composer.json // list of dependencies, most of them are my own repositories on GitHub
| |-- /vendor
| | |-- /php-dependency-1 // 3rd party dependencies not directly related to Wordpress
| |-- /web
| | |-- /app // acts as "wp-admin" folder
| | | |-- /mu-plugins
| | | | |-- /SUBREPOSITORY-1 // my own framework feature, public, GitHub
| | | | |-- /SUBREPOSITORY-2 // my own framework feature, public, GitHub
| | | |-- /plugins
| | | | |-- /SUBREPOSITORY-3 // my own plugin, public, GitHub
| | | |-- /themes
| | | | |-- /SUBREPOSITORY-5-PARENT-THEME // parent theme used on my framework, public, GitHub
| | | | |-- /SUBREPOSITORY-6-CHILD-THEME // work for client, private, BitBucket
| | |-- /wordpress // Wordpress CMS
| | | |-- /wp-admin
| | | |-- /wp-includes
"Subrepositories" определены в моем composer.json
в корне проекта и загружаются из GitHub на composer install
. Пока все хорошо.
Но! Я ожидаю, что я немного подкорректирую свои parent-theme
и некоторые mu-plugins
, мне нужно иметь возможность push/commit из каждого из моих проектов, которые они будут включены. Как вы знаете, вы не можете проверить тестовую тему без установки wordpress...
Итак... в какую сторону? Здесь много сообщений об этой теме, и большинство из них упоминает SubModules, но если я правильно поняла идею Composer, они как бы конфликтуют друг с другом.
Просто используйте вложенные репозитории .git, кажется, отлично подходит для моего случая, хотя это, похоже, не работает - если я попытаюсь нажать/зафиксировать вложенное репо, либо "все в актуальном состоянии", либо я получаю такие сообщения, как Your branch is ahead by 1 commit.
Так что просто "вложенность" - это не выход?
Спасибо заранее и извините за немного запутанный тон вопроса, я немного утонул в теме.:) Любая помощь будет очень признательна.