如何将版本控制添加到我的工作流程?


11

我开发主题,很多主题。给我一个PSD,对HTML / CSS进行编码,将代码拍打到Wordpress中,并在得到质量控制后进行更正。上线后,客户可以像平常一样编辑博客文章或使用自定义插件上传照片。

有时我必须对主题或页面/帖子内容进行更改,这意味着我要么使它们生效,要么必须将站点下载并设置到开发环境中,以供客户批准。我没有备份,没有版本控制,并且我意识到需要进行更改。

建议使用Git和Mercurial,我想利用这些工具,但是对于如何将它们适合工作流程感到困惑。

我是否需要对开发服务器上的站点进行所有更改,然后在批准后立即将其发布?那写博客文章呢?似乎在开发人员上撰写文章并实时发布更改过于刻薄,但是如果在实时站点上对数据库进行了编辑,那么如何同步数据库呢?我搜寻了互联网。一些指导将不胜感激。


我认为这符合范围外的生态系统问题。请参阅此处进行持续的讨论
Chip Bennett

4
@ChipBennett我不同意。欢迎使用WordPress在主题,插件和数据库之间的特定依赖关系以及它们如何影响一般开发人员的实践。
fuxia

@toscho我当然可以相信这一点;这就是为什么我指向元讨论。:)
Chip Bennett'2

Answers:


9

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

您的工作流程

  • 接收PSD
  • 代码HTML / CSS
  • 代码WordPress模板
  • 将主题部署到实时WordPress网站

他们的工作流程

  • 设计所需的更改并通过电子邮件发送给您
  • 写文章
  • 上传照片

问题

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

然后,您的工作流程将变为:

  • 写代码
  • 提交对版本控制系统的更改
  • 将更改推送到生产现场
  • 从客户那里获取评论
  • 写代码
  • 提交变更
  • 写代码
  • 提交变更
  • 将更改推送到生产现场

请记住,这是关于维护代码的版本控制历史记录。代码是客户不应该更改的内容- 在生产环境中,切勿在生产现场更改代码。

但是对内容(帖子,照片等)的更改不在版本控制系统的范围内。换句话说,您无需在开发中进行更改,然后将数据库推向生产环境。那是糟糕的开发实践。如果需要使dev和prod数据库保持同步,则应例行地从生产包装箱中提取备份,并从该备份还原本地版本。

代码更改从开发流向生产。
数据库从生产到开发的变更流程。


除非您有一个特殊的脚本来管理内容数据在数据库中的存储方式,否则您无法真正轻松地同步数据库。这就是为什么将代码与工作流中的内容分开的原因,替代方法是使用登台服务器或尝试使用数据库同步脚本之一或编写自己的数据库同步脚本。
Wyck

@EAMann很好的回复,谢谢!我要添加到您描述的工作流程中的唯一一件事就是编写代码,提交更改,推送到开发站点,从客户端获取评论,...我没有考虑过两个单独的工作流程,因为通常我们必须更改为客户满意。有时,我们必须在内容中放入HTML以适应内容中的特殊请求(特殊样式等)。有时,他们需要获得客户的批准才能上线,这就是为什么数据库需要同步。是否有针对此类设置的最佳做法?
cfree

@Wyck与其将内容与主题放在一起,不如将其分开,将两个过程分开是有意义的。我喜欢一个主题开发区域和一个内容删除暂存区域的想法,彼此无关。我看到的唯一问题是,客户喜欢在启动主题和内容(完整的网站;静态页面)之前先看到主题和内容。
cfree 2012年

通常不必同步数据库更改。我的意思是说,您要转储生产数据库并用它替换本地开发数据库。没错,您可以使用脚本将其自动化...但是您可能不会经常这样做。
EAMann

3
还没有,这真的是WordPress方面的难事,但不是专门针对WordPress的问题,因为许多CMS都存在此问题,您可以在此处阅读有关此内容的问题wordpress.stackexchange.com/questions/119/…更深入,一些脚本确实存在于其中,但是大多数脚本都在内部,因为它们特定于特定的环境。
Wyck

1

您可以使用同步数据库的软件。但是也可以选择使用http://chronicdb.com之类的数据来对数据本身进行版本控制


这看起来很有趣;可以解决很多问题。我要检查一下,谢谢。
cfree

1

我在另一个问题上为此写了一个详尽的答案。我个人使用git,这太棒了。在入门方面,我建议您查看http://gitref.org/http://help.github.com/mac-set-up-git/。如果您是这本书的类型,我已经读过这一本书,绝对值得22美元的电子书价格。自己做,您不会后悔这个决定。


谢谢,我将不得不再次参考它。主/从数据库设置听起来很有趣。感谢您的指导
cfree
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.