В течение многих месяцев я пытался спланировать хорошую структуру проекта для использования контроля версий git для разработки веб-сайтов WordPress, которая не жертвует возможностью обновления ядра и плагинов через панель управления WP, не требует нестандартной структуры каталогов (wp -контент за пределами родительской папки WP), что позволяет легко управлять и развертывать целые веб-сайты. Я читал о подмодулях, поддеревьях, вложенных репозиториях и т. Д., И мне все еще трудно совместить все это и выбрать правильную стратегию.
Вот что я думаю прямо сейчас, с моими мыслями о том, как я буду обращаться с git-репозиториями в скобках.
root (main project repo)
|-- wordpress (public git repo added as subtree)
| |-- wp-content
| | |-- plugins
| | | |-- my-custom-plugin (git repo added as subtree)
| | | |-- other-plugin-with-git-repo (git repo added as subtree)
| | | +-- other-plugin-without-git-repo (ignored/untracked)
| | |-- themes
| | | |-- my-custom-theme (git repo added as subtree)
| | | |-- other-theme-with-git-repo (git repo added as subtree)
| | | +-- other-theme-without-git-repo (ignored/untracked)
| | +-- uploads (ignored/untracked)
| |-- wp-admin
| +-- wp-includes
|-- wp-config.php (ignored/untracked)
+-- other-files.txt
Это оставляет меня с несколькими проблемами / вопросами;
Автоматические обновления; Мне нравится новая функция автообновлений, она потенциально может сэкономить много времени и усилий для поддержания моих сайтов в обновленном и безопасном состоянии, но, похоже, это мешает отслеживать изменения кода с помощью git. Есть ли способ отследить изменения в моем коде, позволяя ядру WordPress автоматически обновляться?
Помешает ли наличие поддеревьев в репозитории ядра WordPress, чтобы я не использовал git для слияния новых обновлений ядра или не отправлял свои изменения обратно в репозиторий ядра WordPress (если я когда-нибудь решу, что хочу стать основным спонсором)?
Для плагинов, у которых нет общедоступного репозитория git, их полное игнорирование создает проблему невозможности быстрого клонирования всего сайта на новом сервере без копирования файлов на сервер вручную. Это также вызывает проблему, если я хочу внести изменения в код этого плагина, эти изменения не отслеживаются и могут быть легко потеряны при обновлении плагина.
Итак, подведем итог: что такое хорошая настройка git + WordPress, которая позволяет избежать этих проблем? Буду признателен за ваши отзывы о моей предложенной структуре проекта. Любой способ, которым вы можете помочь мне улучшить это, будет высоко ценится!
PS, если есть лучший форум для этой дискуссии, пожалуйста, укажите мне там.