Git和WordPress(+管理插件和媒体)

dan*_*ani 7 git wordpress version-control github wordpress-plugin

我想将修订控制 - 使用git - 应用于基于WordPress的网站开发.

根据我的疑虑,我该怎么办?

关注1:推动"细粒度变化"
在这种特定情况下,很难在本地模仿网络服务器环境.因此,我想经常推动变革.我可以将"子提交级别"的更改推送到Web服务器以避免"无关"提交吗?(我是否必须在我的远程网络服务器上设置一个git repo?)

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

我将非常感谢任何有关如何设置工作流程的资源,这些工作流程允许我在本地保存我的所有文件(WordPress +插件,媒体,主题等),同时允许我将"粒度更改"推送到我的网络服务器和对Github的"真实承诺".

Von*_*onC 3

对于Concern1,您可以将那些微小的变化隔离在分支中。

\n\n

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

\n\n
    \n
  • 致力于您的精细提交
  • \n
  • GitHub 的一个(主控)
  • \n
\n\n

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

\n\n
    \n
  • 您的网站,在一个裸仓库上,然后克隆它并签出“粒度”分支。
  • \n
  • GitHub,master 已更新为“真实”提交。
  • \n
\n\n

要清理历史记录并构建真正的提交,您可以以交互方式在 master 之上重新建立细粒度分支:

\n\n
git checkout master\ngit rebase -i granular\n
Run Code Online (Sandbox Code Playgroud)\n\n

也就是说,您可以选择、压缩或编辑细粒度的提交,并在 master 上重放一组更清晰的提交。
\n这重写了细粒度的历史记录,但如果没有人直接从这个分支拉取,这也不算太糟糕。
\n如果您想保留详细的历史记录,则仅merge或从到 的cherry-pick一些提交。granularmaster

\n\n

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

\n\n\n\n

最后一个链接是关于 WordPress 升级过程的最详细信息,最后还以您的修改的变基为结尾;

\n