Как включить автоматические обновления WordPress с помощью Git в качестве контроля версий?
Я пытаюсь найти решение для очень сложной задачи: правильная версия, управляющая WordPress, особенно при работе с автоматическими обновлениями.
WordPress позволяет много упростить, позволяя пользователям обновлять основные файлы WordPress, темы и плагины, просто нажав кнопку. Но что происходит, когда у вас есть этот сайт под управлением версиями с чем-то вроде Git? Как только мы нажмем кнопку "Обновить сейчас", наша репозитория Git будет не синхронизирована и, следовательно, победит цель создания репозитория Git в первую очередь.
Я искал способы обойти эту проблему, и все, что мне удалось найти, - это разные способы структурирования установки Wordpress, разбивая компоненты на подмодули Git. Одним из наиболее популярных примеров является шаблон WordPress-Skeleton.
Хотя это работает для управления версиями каждого модуля/компонента WordPress, он по-прежнему не позволяет пользователю использовать кнопку автоматического обновления в WordPress, поскольку это будет обновлять файлы в процессе производства, но не фиксировать эти изменения в ваш репозиторий Git.
В идеальном мире мы должны иметь возможность контролировать все файлы в одном репозитории, а затем, когда мы нажимаем кнопку "Обновить сейчас", он должен автоматически обновлять наш репозиторий Git с изменениями. Кто-нибудь знает, как это можно сделать?
Одной из вещей, о которой я думал, было создание плагина, который будет прослушивать события обновления и автоматически фиксировать изменения, как только этот крючок запускается. Не уверен, что это лучший подход.
Пожалуйста, дайте мне знать, если кто-то имеет лучший способ, я могу это сделать.
Ответы
Ответ 1
Кажется, проблема в том, что кнопка "Обновить сейчас" запускает "обновление файлов в процессе производства", которые не являются частью репо git.
Кроме того: repo git может иметь основную ветвь, предназначенную для обычной древовидной структуры WP, как описано в WordPress-Skeleton, и вторую ветку для мониторинга изменений этих файлов в процессе производства.
Поскольку git 2.5, вы можете иметь несколько рабочих строк на репо (это "из коробки" ).
Это означает, что вы можете объявить другую папку (вне исходного git repo) в качестве рабочего дерева того же репозитория git.
Как только обновление изменило "файлы в процессе производства", простой git add -A; git commit
может обнаруживать указанные изменения и фиксировать их (в выделенной ветки).
Ответ 2
Прежде всего, вы не контролируете версию полной папки WP, а только папки тем и плагинов, на которые это обновление не повлияет. Итак,