Как включить автоматические обновления 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, а только папки тем и плагинов, на которые это обновление не повлияет. Итак,