我问这个问题是因为我在互联网上搜索但找不到正确的解决方案。实际上,我希望有一个解决方案,其中多个开发人员可以在单个wordpress项目上工作,而不会互相干扰。但是,众所周知,在wordpress中,所有东西都保存在数据库中,例如哪个插件处于活动状态,哪个插件不处于活动状态。

如果开发人员将插件安装到其本地项目中,而不是他们如何彼此通信,则每个人都应安装该一个或多个特定插件,等等,如果每个开发人员都推送/拉代码。

我们也应该共享数据库,以共享插件/主题设置,以便开发人员之间不存在冲突或几乎没有冲突。

感谢

评论

wp-cli.org将大大帮助您的工作流程。

如果可能,请切换到jekyll或类似名称。

Jekyll被烘焙到github中,显然可以与git一起很好地使用...

FWIW,使用Git之类的东西时,冲突和冲突并没有完全消除,它只是让您避免所说的冲突,直到您准备好“合并”它们为止。

所有开发人员都可以共享一个公共托管的公共数据库并委托GIT进行版本控制吗?

#1 楼

Git插件:


将Composer用于已经打包在packagist或wpackagist上的插件。将它们添加到composer.json中。
对其他插件使用TGM插件激活。

然后,使用Git管理composer.json和TGM插件中的更改。

最难部分是同步数据库:

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

有很多免费和高级的插件可以提供帮助。

如果您想手动尝试,将wp-cli与@Wyck的答案合并。

#2 楼

我的团队面临类似的问题。我们使用git来版本化自己的自定义代码,例如插件和编写的主题。我们使用Composer来管理依赖项,例如我们未编写的插件。我们将composer.json和composer.lock文件检入git中,以使所有人保持同步。每个开发人员都应拉出git master分支,并在其游戏围栏上频繁运行composer update,以便每个人都保持最新状态。

在数据库中,开发人员主要关心配置,我们经常使用WP-CLI保持配置同步。例如,我们有一个Shell脚本,该脚本运行WP-CLI命令以基于每个主机启用或禁用插件。例如,某些插件仅在我们的内容登台主机上使用,因此脚本可以在任何主机上运行,​​并且只会在该主机上启用适当的设置。只是记录了一些太费时的配置文件,并在必要时进行了手动复制。

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


内容分级服务器数据库的mySQL转储,更改表名,加载到目标服务器的数据库中
使用wp-cli更改对数据库中的登台服务器引用目标服务器
将目标服务器上的上载目录与内容登台服务器的上载同步


有一些很有前途的解决方案,用于实际对数据库进行版本控制很快。我认识的是VersionPress和Mergebot,也许还有其他两个。

我在我的博客上写了有关如何设置WordPress以与git和Composer一起使用的更多技术细节。有必要在其自己的目录中运行WordPress核心,以使我们想要在git中维护的代码与WordPress核心之间完全分开。我们将WordPress本身视为依赖项,并使用Composer对其进行管理。

#3 楼

我所见过的最好的解决方案是使用Bedrock(https://roots.io/bedrock/)。

该问题的其他答案(Composer,以及一些用于管理插件的东西)是好的答案;但是Bedrock提供了系统的,受支持的,有文档记录的,不断改进的方法,比滚动自己的方法更可取。

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

评论


“ Bedrock提供了系统的,受支持的,记录在案的,不断改进的方法,比滚动自己的方法更可取。”可以确认,基岩很棒!与Sage(由同一个人,Roots开发)一起使用,整个团队的自定义开发是可管理的。仍然有麻烦,@ Dan9的答案更完整,但是我不能唱基德罗克的赞美!

– Samrap
16年8月23日在22:54

作为一名MVC开发人员,我同意,但是我在WordPress网站上从事的工作类型主要是基于前端,因此Sage中的资产管理设置值得偶尔的全球范围内的不良实践进行。

– Samrap
16年8月24日,0:34

#4 楼

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

我们使用git和composer来保持不同的开发环境至今。只需获取最新的更改并重新运行作曲器,便可以开始了。

#5 楼

首先,我们需要了解WordPress目录结构。 WordPress目录结构并不适合与git一起使用。因此,我建议您将它与git友好的修改架构一起使用。不,不必惊慌。您不必一定要创建它。那里有很多样板或结构化的WordPress系统。只需选择其中一个并开始编码即可。

现在可以编写组织良好的代码或可购买的代码了。我们实际上将代码放在wp-content\themes\your-themewp-content\themes\your-theme上。因此,在大多数git友好WordPress样板中,wp-content部分是分开的。他们大多通过composer来获取WordPress存储库。它使整个项目更加整洁。

插件同步是另一个重要的部分。如果通过composer安装插件会更好。它使项目代码更加整洁。在这里,您将获得概述如何通过q​​4312079q安装WordPress插件。

现在最重要的部分是如何同步数据库。我认为可以通过以下两种方式更轻松地完成所有开发人员都应该使用一个远程数据库。并经常
创建它的备份。
使
WordPress的导入导出工具自动化。看起来很复杂,但事实并非如此。只是做一些谷歌,
希望你能做到。

希望对你有帮助。