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

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

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

WordPress 允许用户通过简单地单击一个按钮来更新 WordPress 核心文件、主题和插件,从而实现了很多简单性。但是,当您将该网站置于 Git 之类的版本控制之下时会发生什么?只要我们点击“立即更新”按钮,我们的 Git 存储库就会不同步,因此首先创建 Git 存储库的目的就落空了。

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

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

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

我正在考虑的一件事是创建一个插件,该插件将监听更新事件并在触发该 Hook 后立即自动提交更改。不确定这是否是最好的方法。

请告诉我是否有人有更好的方法可以完成此任务。

最佳答案

问题似乎是“立即更新”按钮触发了“更新生产中的文件”,这不是 git 存储库的一部分。

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

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

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

关于wordpress - 如何将 WordPress 自动更新与 Git 作为版本控制相结合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31120140/

相关文章:

javascript - WordPress NinjaForms JavaScript API 提交前

jquery - 在 WordPress 中添加指向特定页面的链接

wordpress - 带有部分工作树的 Git 后接收 Hook

git - 有没有没有版本提交的 'bump the version' 的方法?

安卓开发 : Local SVN for Android Projects?

svn - 颠覆 : commit only modified files

html - 将 CSS 类应用于同一标签的插件生成元素?

html - 标题菜单 "About Us"中的悬停效果始终在我的主页上触发

git - 从 UCM ClearCase 迁移到 GIT

version-control - teamcity 中的 mercurial VCS 证书验证失败