Протягом місяців я намагаюся розробити гарну структуру проекту для використання керування версіями git для розробки веб-сайтів WordPress, яка не приносить шкоди можливості оновлення ядра та плагінів через панель інструментів WP, не вимагає нетрадиційної структури каталогів (wp -зміст за межами батьківської папки WP), і це легко керувати та розгортати цілі веб-сайти. Я читав про підмодулі, підмережі, вкладені репости тощо, і мені ще важко підходити все це разом і вибирати правильну стратегію.
Ось що я зараз думаю, з думками про те, як би я впорався з git repos в дужках.
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, якщо є кращий форум для цієї дискусії, будь ласка, вкажіть мене там.