问题描述

我开发主题,很多。我给了一个 PSD,编码 HTML /CSS,将代码压入 Wordpress,并在得到 QC’ 时进行更正。一旦实时,客户可以编辑正常的博客帖子或使用自定义插件上传照片。

有时我必须对主题或页面/帖子内容进行更改,这意味着我要么让他们现场,要么下载并将该站点设置到开发环境中才能被客户批准。我没有备份,我没有版本控制,我意识到这需要改变。

已经提出了 Git 和 Mercurial,我想利用这些工具,但是我对如何将它们融入工作流程感到困惑。

是否需要对开发服务器上的站点进行所有更改,然后一旦批准就推送它们?写博客帖子怎么办?看起来像是在开发人员上写帖子,并且直接推送更改,但是如果在实时站点上编辑数据库,那么如何同步数据库?我已经洗了互联网。一些指导将不胜感激。

最佳解决方案

首先,您需要认识到这里有两个工作流程:您的客户端和您的客户端。

你的工作流程

  • 接收 PSD

  • 代码 HTML /CSS

  • 代码 WordPress 模板

  • 部署主题以实现 WordPress 网站

他们的工作流程

  • 设计需要更改并通过电子邮件发送给您

  • 写帖子

  • 上传照片

问题

这里实现版本控制与客户的工作流程无关。这是关于跟踪您用于 WordPress 主题的代码。所有的主题文件,自定义插件等都应该在版本控制系统 (Git,Mercurial,Subversion 或任何您选择使用的) 中。

您的工作流程将变为:

  • 编写代码

  • 提交更改到版本控制系统

  • 推动更改到生产现场

  • 从客户端获取评论

  • 编写代码

  • 提交更改

  • 编写代码

  • 提交更改

  • 推动更改到生产现场

请记住,这是关于维护代码的版本控制历史记录。代码是客户端不应该更改的代码,而且在生产中您不应该更改生产站点上的代码。

但更改内容 (帖子,照片等) 不在您的版本控制系统的范围之内。换句话说,您不要在开发中进行更改,然后将数据库推送到生产环境中。这是一个糟糕的发展实践。如果您需要将 dev 和 prod 数据库作为 in-sync,那么您应该定期从生产箱中提取备份,并从该备份还原本地版本。

代码从开发转向生产。数据库从生产到发展的变化。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。