【发布时间】:2015-09-16 04:18:42
【问题描述】:
我正在尝试为一项非常艰巨的任务找到解决方案:正确控制 WordPress 的版本,特别是在使用自动更新时。
WordPress 允许用户通过单击一个按钮来更新 WordPress 核心文件、主题和插件,从而实现了很多简单性。但是,当您将该网站置于使用 Git 之类的版本控制之下时会发生什么?一旦我们单击“立即更新”按钮,我们的 Git 存储库就会不同步,因此一开始就违背了创建 Git 存储库的目的。
我一直在寻找解决这个问题的方法,我所能找到的只是通过将组件分解为 Git 子模块来构建 Wordpress 安装的不同方法。最流行的例子之一是WordPress-Skeleton 模板。
虽然这可以对 WordPress 的每个模块/组件进行版本控制,但它仍然不允许用户使用 WordPress 中的自动更新按钮,因为这会更新生产中的文件,但不会将这些更改提交到你的 Git 存储库。
在理想情况下,我们应该能够对一个存储库中的所有文件进行版本控制,然后当我们单击“立即更新”按钮时,它应该自动更新我们的 Git 存储库以进行修改。有谁知道如何做到这一点?
我在想的一件事是创建一个插件,该插件将侦听更新事件并在触发该挂钩后立即自动提交更改。不确定这是否是最好的方法。
如果有人有更好的方法我可以做到这一点,请告诉我。
【问题讨论】:
-
我首先会将 WordPress 核心排除在 git 之外——以及任何第三方插件和主题。利用作曲家并以这种方式带来一切。如果有人更新,您仍然会遇到问题 - 老实说,没有简单的方法可以正确地做到这一点。但是 composer 会让你很容易保持一个存储库的匹配。我在 git 中保存的唯一内容是我自己的自定义主题和 wp-config.php 等以及任何已编辑的内容。 roots.io/using-composer-with-wordpress 是一个很好的起点。您不需要将任何已经受版本控制的文件存储在其他地方
-
wordpress下有集成git的wordpress插件:versionpress.net
-
@SimonPollard 问题是如果 WordPress 受版本控制,如何使用 WordPress 自动更新。即使你不使用 Git,如果你使用 Composer 之类的东西,你仍然无法使用 WP 自动更新。使用 composer 方法,您仍然需要进入服务器并更新 WordPress 依赖项。
-
我可能只是让生产环境中的 WordPress 自行更新,然后在下次部署时更新 composer 中的依赖项。您还可以有一个运行
composer install的 cronjob 以使您的依赖项保持最新,并为 WordPress 使用松散的版本字符串,允许根据您的需要进行次要/主要更新。
标签: wordpress git version-control git-submodules auto-update