【问题标题】:Git and WordPress (+ managing plugins and media)Git 和 WordPress(+ 管理插件和媒体)
【发布时间】:2010-01-21 12:32:18
【问题描述】:

我想在基于 WordPress 的网站开发中应用修订控制 - 使用 git。

基于以下我的担忧,我该怎么做?

关注点一:推动“细化变革”
在这种特定情况下,很难在本地模拟网络服务器环境。因此,我想经常推送更改。我可以将“子提交级别”上的更改推送到网络服务器以避免“不相关”提交吗? (我是否必须在我的远程网络服务器上设置一个 git 存储库?)

问题 2:插件和媒体处理
以前,我和我的同事一直在安装/更新插件并从 WordPress 的管理界面上传媒体。如果我还想让媒体和插件保持同步,如何实现?

我将不胜感激任何详细说明如何设置工作流的资源,该工作流允许我将所有文件(WordPress + 插件、媒体、主题等)保存在本地,同时允许我将“细粒度更改”推送到我的网络服务器和对 Github 的“真实提交”。

【问题讨论】:

  • 您最终对插件和媒体处理做了什么?我现在正试图弄清楚我的工作流程的同一部分。
  • 嗨@JosiahSprague,我做所有的开发。在本地(包括插件安装)并使用 WordPress 框架 github.com/markjaquith/WordPress-Skeleton 将核心 WP 与我的修改分开。骨架还分隔媒体,这是一种很好的做法,因为您可能希望从其他位置提供此服务。
  • 酷。这与我在上一个项目中的最终结果相似,但我不喜欢内容目录位于 Wordpress 目录之外的方式,仅仅是因为一些编写不佳的插件与该设置不兼容。
  • 当你想添加一个不作为 git repo 存在的插件时,你会如何处理这个设置?例如,Yoast 的 Google Analytics for Wordpress。您是否只是将文件复制到插件文件夹中并将它们直接提交到您的 git 存储库?您是否将它们添加到 git 忽略?您是否在 git 中镜像 SVN 存储库?还是你做了我没想到的其他事情?

标签: git version-control github wordpress


【解决方案1】:

关于 Concern1,您可以隔离分支中的这些微小变化。

基本上,您的本地仓库有两个分支:

  • 专用于您的细粒度提交
  • GitHub 的一个(主)

您可以将所有内容推送到:

  • 您的网站,在一个裸仓库中,然后克隆它并检查“粒度”分支。
  • GitHub,master 更新为“真实”提交。

要清理您的历史记录并构建您的真实提交,您可以以交互方式rebase master 顶部的粒度分支:

git checkout master
git rebase -i granular

那是您挑选、压缩或编辑细粒度的提交,在 master 上重放一组更干净的提交。
这会重写细粒度的历史记录,但如果没有人直接从这个分支拉出,这还不算太糟糕。
如果你想保留细粒度的历史记录,只需要mergecherry-pick 一些从granularmaster 的提交。

有几个用 Git 管理 Wordpress 的例子:

最后一个链接是关于 WordPress 升级过程的最详细的链接,并以你的修改的 rebase 结束;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 2016-02-17
    • 2013-10-20
    • 2010-09-18
    • 1970-01-01
    相关资源
    最近更新 更多