Статьи

VersionPress — WordPress встречает контроль версий

С ростом популярности контроля версий большинство разработчиков теперь привыкли к его возможностям. Мы попытались расширить использование контроля версий за пределы управления исходным кодом — например, управление дампами и проектами баз данных. Поэтому неудивительно, что в последние несколько лет в WordPress также применяется контроль версий.

Ранее в этом году я опубликовал пост на Revisr , плагине Git для WordPress. Revisr позволил вам инициализировать Git-репозиторий в вашем исходном коде WordPress, а также включить дампы базы данных в ваши резервные копии.

Revisr — отличный инструмент, но он подходит не всем. Вы должны иметь общее представление о Git, чтобы иметь возможность беспрепятственно использовать плагин. Кроме того, я считаю, что начинающим было бы трудно обрабатывать удаленные резервные копии в облаке.

Эта статья фокусируется на VersionPress , другом плагине, о котором мы ранее говорили, который пытается применить управление версиями к проекту WordPress. Хотя VersionPress использует Git , в нем нет упоминаний о Git, если вы установили требования. Он отслеживает каждое действие, которое вы выполняете на панели администратора WordPress, позволяя вам отменить каждое изменение или выполнить откат до состояния этого изменения. Больше всего меня поразила простота плагина — здесь нет ненужных настроек, которые могли бы разделить ваше внимание.

В моих примерах я буду использовать версию плагина 1.0-RC3. Скачайте плагин, установите и активируйте его. После активации новый элемент появляется на левой панели. Нажав на нее, вы перейдете ко второму шагу активации, когда плагину необходимо выполнить несколько действий, прежде чем отслеживать изменения на вашем сайте WordPress.

VersionPress Требования

Второй шаг активации.

Отслеживайте изменения на всем сайте

Давайте теперь рассмотрим, на что способен VersionPress. Давайте создадим и опубликуем новый пост — «Тестовый пост 1» и посмотрим, как VersionPress записывает наши действия.

VersionPress Добро пожаловать

Статус после создания поста.

VersionPress правильно отмечает, что черновик для поста был сначала создан, а затем опубликован. Мы пройдем через отмену и отката в следующем разделе.

Давайте теперь изменим несколько настроек и посмотрим, как их записывает VersionPress.

VersionPress Status

Состояние после изменения настроек.

Интересно отметить, что при изменении нескольких настроек VersionPress сообщает только одно изменение в сообщении рядом с изменением. Мы вернемся к этой проблеме позже, когда углубимся в работу плагина.

Затем мы устанавливаем плагин и проверяем изменения, как сообщает VersionPress, чтобы убедиться, что он записывает каждое изменение.

VersionPress Update

Повернуть время вспять

Как уже говорилось ранее, VersionPress позволяет выполнять два действия:

  • Отменить определенные изменения, не затрагивая новые изменения
  • Откат в состояние после изменения

Давайте сначала отменим изменение настроек в предыдущей части.

Отменить в VersionPress

Стоит отметить, что хотя в сообщении было указано одно изменение, отмена повлияла на все изменения, внесенные в настройки.

Аналогично, давайте вернемся к этапу установки плагина.

Пример отката в VersionPress

Еще одна важная часть, на которую следует обратить внимание, это то, что VersionPress записывает только изменения, внесенные в вашу базу данных или исходный код. Невозможно установить, может ли процесс отмены или отката сломать сайт. Например, при активации плагина Jetpack выше, вы также можете увидеть конкретное изменение таблицы. Откат или Отмена одного могут повлиять на плагин, поэтому вы должны быть осторожны при выполнении этих изменений.

Проверьте статус Git

Это необязательный раздел, и вам следует продолжить, только если вы знакомы с Git, популярным решением для контроля версий.

При переходе к корневой папке вашего проекта WordPress вы обнаружите, что VersionPress инициализировал Git-репозиторий. Вы можете проверить коммиты, которые были созданы, выполнив следующую команду —

git status

Если вы внимательно заметите, вы увидите, что возвратные коммиты создаются, когда вы отменяете изменение, а не удаляете коммиты.

VersionPress Git Status

Кроме того, если вы решили работать с Git-репозиторием через терминал или клиент GUI, созданные вами пользовательские коммиты регистрируются в журнале VersionPress, и вы можете выполнять над ними операции отмены или отката.

Git Сообщения

Структура базы данных плагина

Если вы заметили схему базы данных, существует только одна таблица, созданная VersionPress — vp_id Это делается для того, чтобы связать разные элементы с одинаковыми идентификаторами в WordPress, такие как пост, страница или комментарий, которые обрабатываются VersionPress одинаково.

VersionPress База данных

Исправление проблем

Этот проект довольно новый, и существует большая вероятность ошибок. Если вы обнаружите ошибку, нажмите на механизм в правом верхнем углу и отправьте отчет об ошибке разработчикам.

Решение проблем VersionPress

Последние мысли

Теперь мы подробно рассмотрели работу VersionPress. Вскоре разработчики планируют добавить новые функции, одной из которых является возможность создавать резервные копии всего вашего проекта. Отдельная функциональность резервных копий базы данных не требуется, поскольку каждое изменение в базе данных записывается VersionPress, и вы можете легко вернуть их обратно. Еще одна полезная функция — возможность синхронизировать изменения в локальном репозитории с облаком через удаленное устройство (хотя в настоящее время этого можно достичь, добавив удаленное устройство и нажав изменения вручную).

Есть также определенные проблемы, которые могут быть подняты с использованием этого плагина в будущем. Давайте возьмем пример спортивного новостного сайта Sportskeeda, который ежедневно процветает благодаря тысячам вкладов сообщества. Facebook пришел к выводу, что Git становится медленнее с таким огромным количеством коммитов. Было бы интересно посмотреть, как VersionPress справится с такими недостатками Git — когда сам Git занимает огромное количество места и несколько человек одновременно получают доступ к сайту.

В заключение я хотел бы поблагодарить разработчиков за создание замечательного продукта, который упрощает сложную задачу для масс. Если вы хотите протестировать плагин, не стесняйтесь связаться с разработчиками VersionPress здесь .