Wordpress with Git

时间:2016-08-23 作者:Najam-us-Saqib

我问这个问题是因为我在网上搜索,但找不到正确的解决方案。实际上,我想要一个解决方案,让多个开发人员可以在单个wordpress项目上工作,而不会给彼此的工作造成任何混乱,但正如我们所知,在wordpress中,每个东西都是在数据库中维护的,比如哪个插件是活动的,哪个插件不是活动的。

如果开发人员在本地项目中安装插件,而不是如何相互通信,那么每个人都应该安装特定的插件等,如果每个开发人员都推/拉代码,一些错误的通信可能会破坏其他人的网站。

我们是否也应该共享数据库,以共享插件/主题设置,这样开发人员之间就不会有冲突或很少冲突。

谢谢

5 个回复
最合适的回答,由SO网友:dan9vu 整理而成

Git for plugins:

使用Composer 对于已打包在上的插件packagistwpackagist. 将它们添加到composer.json.使用TGM Plugin Activation 对于其他插件composer.json 以及TGM插件中的更改。

The hardest part is to sync database:

当然,我们应该共享数据库。重新配置插件设置/选项不是一个好主意。

many plugins, 免费和高级都可以,这会有所帮助。

如果要手动尝试某项功能,请合并wp-cli 具有the answer 关于@Wyck。

SO网友:spacegrrl

我的团队也面临着类似的问题。我们使用git来版本我们自己的自定义代码,例如插件和我们编写的主题。我们使用Composer 管理我们没有编写的插件等依赖项。我们检查作曲家。json和composer。将文件锁定到git以保持所有人同步。每个开发人员都需要拉动git主分支并运行composer update 经常在他们的游戏栏上,所以每个人都保持最新。

在数据库中,开发人员主要关心配置,我们经常使用WP-CLI 保持配置同步。例如,我们有一个shell脚本,它运行WP-CLI命令,以在每台主机上启用或禁用插件;例如,有些插件仅在我们的内容暂存主机上使用,因此脚本可以在任何主机上运行,并且只能在该主机上启用相应的集。一些太耗时而无法编写脚本的配置只是记录在案,必要时手动复制。

我们还有一个perl脚本,可以将数据库从内容暂存服务器完全克隆到QA或dev主机上。如果开发人员需要所有当前内容,他们可以定期使用此功能,尽管这通常不如拥有代码和配置重要。脚本执行以下任务:

内容暂存服务器数据库的mySQL转储,更改表名,加载到目标服务器的数据库中使用wp cli将对数据库中登台服务器的引用更改为对目标服务器的引用,将目标服务器上的上载目录与内容登台服务器的上载进行同步有一些很好的解决方案,可以很快对数据库进行版本控制。VersionPressMergebot 是我认识的两个人,可能还有其他人。

我写了更多technical details of how we set up WordPress to work with git and Composer 在我的博客上。有必要在WordPress core自己的目录中运行,以便在我们想要在git和WordPress core中维护的代码之间进行清晰的分离。我们将WordPress本身视为一个依赖项,并使用Composer进行管理。

SO网友:Chris S

我见过的最好的解决办法是使用基岩(https://roots.io/bedrock/).

这个问题的其他答案(Composer和管理插件的工具)都是很好的答案;但基岩提供了一种系统化的、有支持的、有文档记录的、不断改进的方法,这比自己滚动更好。

此外,请记住,您可以有多个git repo–一个用于您的主题,一个用于您开发的每个自定义插件,然后一个用于基岩/Wordpress安装本身的“主”git repo。

SO网友:Ben Romijn

如果绝对有必要在主题上安装所有相同的插件或自定义插件,那么我也会共享数据库。

我们使用git和composer 使不同的开发环境保持最新。只要拉动最新的更改并重新运行composer,您就可以开始了。

SO网友:CodeMascot

首先,我们需要了解WordPress目录结构。WordPress目录结构对用户来说并不友好git 用它。所以我建议你用这个git 友好的修改架构。不,不必惊慌。你不一定要创建这个。有很多这样的样板或结构化WordPress系统。只需选择其中一个并开始编码。

现在要编写组织良好的代码或可维护的代码。我们实际上把代码放在wp-content\\themes\\your-theme. 所以在大多数git 友好的WordPress模板wp-content 零件是分开的。他们主要通过composer. 它使整个项目更加干净。

插件同步是另一个重要部分。如果您通过以下方式安装插件会更好composer. 它使项目代码更加简洁。Here 您将通过以下途径了解如何安装WordPress插件composer.

现在进入最关键的部分,如何同步数据库。我认为可以通过以下两种方式更容易地完成-

所有开发人员都应该使用一个远程数据库。并经常创建备份

相关推荐

如何在我的博客WordPress中嵌入或共享Git?

我是worpdress的新手,但我想在我的博客wordpress中分享我的代码Git。然后我在github中制作了一个gits:(此代码只是此问题的一个示例)但当我尝试在wordpress中分享我的gits时,我发现:有人知道我如何解决这个问题并在wordpress中共享我的代码吗?注:*我的博客wordpress位于托管网站中,我不使用wordpress的平台,我已经在我的博客中安装了wordpress**