WordPress and Git Workflow

时间:2013-02-13 作者:realph

我知道这个问题已经被问过一千次了,但我真的在努力解决如何在使用WordPress时充分利用Git。

我在网上浏览了几十篇文章,所有这些似乎都简要地介绍了这个话题。以下是我最近读到的一些最著名的文章。

- Version Controlling WordPress

- Managing WordPress Theme Deployments with Git

- Manage your custom WordPress theme using git instead of FTP

当前,我的工作流如下所示。

本地安装WordPress开发主题从本地服务器导出WordPress数据库将WordPress数据库导入远程服务器通过FTP上载WordPress文件和主题客户端进行更改通过FTP下载WordPress文件和主题并从远程服务器导出WordPress数据库本地替换文件开发更改通过FTP重新上传,将数据库导出并导入远程服务器,我意识到Git可以简化此过程。看来最好的办法是有一个。gitignore文件,该文件忽略不需要跟踪的某些目录,并且具有本地和远程wp配置。php文件。

但是如何处理数据库呢?客户端通常会进行更改(帖子/页面/插件)。我是否仍需要从远程数据库导出并在本地服务器上重新导入?

有人能在这里为我推荐最好的工作流程吗?陪我走过台阶。

此外,我可能想使用Bitbucket,因为与他们的私人回购是免费的,不像GitHub。

任何帮助都将不胜感激。

提前感谢!

6 个回复
SO网友:bradt

我是WP Migrate DB Pro, 并想回答“厌倦”的问题:

“您知道它运行的db url replace脚本是否考虑了序列化字符串吗?”

是的,它确实处理序列化数据。事实上,这就是我早在2009年就开发了该插件的免费版本的主要原因。:)

不幸的是,我的名声只有41岁,所以无法回复@Ennui的评论。对此表示抱歉。

SO网友:s_ha_dum

我几乎要投票结束这场“没有建设性”的辩论,因为这似乎是一种会引发辩论和意见而不是答案的事情。但是

这不是我的工作流程,这使得我的方法(和答案)与目前为止的大多数其他答案不同。

本地安装WordPress这是从包含最新稳定版本的本地裸Git repo克隆的

  • 上传更改
  • 根据需要重复(但阻力越来越大):
  • 如果我们提供的内容并不总是这样,我们(不是客户端)将清理临时服务器上的数据库并上传内容Velvet Blues Update URLs 如果需要,可以清理数据库

    代码单向移动—从本地移动到暂存或生产。它永远不会向另一个方向移动。这就省去了你的一些步骤,让我心平气和。我不想因为客户对我的代码进行修补而受到指责,也不想导入一些被黑客攻击的文件,这是一种非零可能性。

    而且数据库只移动一次(如果有),这大大减少了问题。因此,我想我通过减少或消除移动数据库的需要来管理“数据库移动”问题。它还可以减少可能出现的数据库损坏问题,并减少导入黑客的机会。

    的确,我必须配置生产站点--永久链接、菜单等--但这迫使我在生产站点上工作,所以我认为这是一种调试。这有助于我确认生产现场的工作方式是正确的。

  • SO网友:Pat J

    https://github.com/nathanielks/Wordpress-Capistrano-Deploy

    我自己还没有尝试过这个,但它声称可以部署所有东西——包括DB。

    还有一个教程:tutorialpart 1|part 2

    SO网友:Patrick Forget

    我最近对此做了很多测试,下面是我使用的工作流,它几乎满足了您的要求:

    我使用wp cli管理wordpress核心并更新wordpresshttp://wpackagist.org 管理插件和主题依赖关系我不熟悉db迁移工具,但这将是此工作流的一个很好的补充。

    以下是工作流的全部详细信息http://geekpad.ca/blog/post/maintainble-portable-wordpress-using-composer-wp-cli

    SO网友:rjmunro

    看看the bedrock stack. 它使用composer来管理Wordpress和第三方插件的版本,还包括用于部署的capistrano,以及用于设置服务器(包括用于开发的本地虚拟服务器)的vagrant/ansible。

    SO网友:deadlyhifi

    关于数据库“克隆”,我使用WP Migrate DB Pro:http://deliciousbrains.com/wp-migrate-db-pro/

    这是一项付费服务,但成本不高,并且可以轻松地将数据库从开发人员拉入或推送到实时服务器,反之亦然。它会更改URL和其他需要更改的内容。

    结束

    相关推荐

    How-to:将GitHub资源库推送到WordPress插件服务器

    我在github上开发插件,但在部署时,我必须以某种方式将更改复制到Wordpress SVN中。目前,我手动执行此操作,并分别复制每个目录中的每个文件,但这既耗时又容易出错。我已经看到并尝试了一些脚本,但我想我一定是运行错误了,因为它们要么出错,要么没有正确地复制文件。所以我的问题是,有没有人自动做到了这一点?如果有,你是如何做到的?谢谢