如何将WordPress自动更新与Git合并作为版本控制



我正试图为一项非常困难的任务找到一个解决方案:正确控制WordPress版本,特别是在使用自动更新时。

WordPress允许用户只需点击一个按钮即可更新WordPress核心文件、主题和插件,从而实现非常简单的功能。但是,当你用Git这样的软件对网站进行版本控制时,会发生什么呢?一旦我们点击"立即更新"按钮,我们的Git回购将不同步,因此首先无法实现创建Git回购的目的。

我一直在寻找解决这个问题的方法,我所能找到的只是通过将组件分解为Git子模块来构建Wordpress安装的不同方法。最流行的例子之一是WordPress的Skeleton模板。

尽管这可以对WordPress的每个模块/组件进行版本控制,但它仍然不允许用户使用WordPress中的自动更新按钮,因为这将更新生产中的文件,但不会将这些更改提交到您的Git回购中。

在理想的情况下,我们应该能够对一个存储库中的所有文件进行版本控制,然后当我们单击"立即更新"按钮时,它应该会自动更新我们的Git repo并进行修改。有人知道如何做到这一点吗?

我想的一件事是创建一个插件,它可以监听更新事件,并在触发钩子后立即自动提交更改。不确定这是否是最好的方法。

请告诉我,如果有人有更好的方法我可以做到这一点。

问题似乎是"立即更新"按钮触发了"更新生产中的文件",而这些文件不是git repo的一部分。

除了他们可以:repo-git可以有一个主分支专门用于WordPress Skeleton中描述的WP常见树结构,还有一个第二分支用于监控生产中对这些文件的更改。

从git 2.5开始,每个repo可以有多个工作树(这是"开箱即用的部分")
这意味着您可以将另一个文件夹(原始git repo之外)声明为同一git repo的工作树。

一旦更新更改了"生产中的文件",简单的git add -A; git commit就可以检测到所述更改并提交(在专用分支中)。

首先,您不需要对整个WP文件夹进行版本控制,只需对主题和插件文件夹进行版本管理,它们不会受到更新的影响。因此

最新更新