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

时间:2015-06-29 15:50:09

标签: wordpress git version-control git-submodules auto-update

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

WordPress允许用户只需单击按钮即可更新WordPress核心文件,主题和插件,从而实现了很多简单性。但是,当你使用像Git这样的版本控制网站时会发生什么?一旦我们点击“立即更新”按钮,我们的Git仓库就会失去同步,因此首先就会失去创建Git仓库的目的。

我一直在研究解决这个问题的方法,我能找到的是通过将组件分解为Git子模块来构建Wordpress安装的不同方法。最受欢迎的示例之一是WordPress-Skeleton模板。

虽然这适用于版本控制WordPress的每个模块/组件,但它仍然不允许用户能够使用WordPress中的自动更新按钮,因为这将更新生产中的文件但不会将这些更改提交到你的Git回购。

在理想的世界中,我们应该能够对一个存储库中的所有文件进行版本控制,然后当我们单击“立即更新”按钮时,它应该自动更新我们的Git存储库。有谁知道如何实现这一目标?

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

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

2 个答案:

答案 0 :(得分:3)

似乎问题是“立即更新”按钮会触发“更新生产中的文件”,这些文件不属于git repo。

除非他们可以:repo git可以拥有专用于WordPress-Skeleton中描述的WP常规树结构的主分支,以及用于监视生产中这些文件的更改的第二个分支。

Since git 2.5, you can have multiple worktrees per repo(这是“开箱即用的部分”) 这意味着您可以将另一个文件夹(在原始git仓库之外)声明为同一个git仓库的工作树。

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

答案 1 :(得分:0)

首先,你没有版本控制完整的WP文件夹只是他们赢得的主题和插件文件夹不受更新的影响。所以