为WordPress网站设置Git工作流程,具有以下分支:
master
(使用稳定版的WordPress)production
(现场)bleeding
(使用GitHub上最新的WordPress提交)使用以下遥控器:
bitbucket
(私人)wpe-staging
wpe-production
在即将推出的WordPress版本上开发和测试网站的主题和插件是我们的目标,但我不想过度复杂化我当前的工作流程。
当前网站的回购有以下分支:
master
(WP的稳定版)production
(现场)和上面相同的遥控器。
我目前的工作流程很棒。我可以在我的本地稳定版WordPress(master
分支)上开发新功能,将master
分支推送到wpe-staging
,确认在该环境中工作,然后合并master
分支进入production
分支,并推送到wpe-production
远程。如果我是移动设备,这可以让我快速更改生产网站,并保持我在本地的工作远离生产。
网站正在WP引擎上托管,其中有Git推送:staging
和production
分支和远程引用它们在WP引擎托管上的相应代码和URL。所有分支都使用推荐的.gitignore
文件,此处提供:https://wpengine.com/wp-content/uploads/2013/10/recommended-gitignore-no-wp.txt
我需要能够跟踪整个WP安装,因为WP的根目录中有跟踪,提交和推送的文件。
wp-content
的{{1}}目录(repo-wpcontent
)的单独存储库:这看起来好像可以工作,但是在子模式(插件)中的子模式看起来很混乱repo-project
)目录的单独存储库作为子模块添加到repo-theme
:这似乎比上面更简单,但我很担心在单独的回购中跟踪插件和主题(再次,看起来很乱)repo-project
:完整WordPress目录的回购repo-project
:repo-wpcontent
目录wp-content
:正在开发和测试的单个WordPress主题的回购根据您的经验和知识,我能够测试WordPress稳定版和前沿版上安装的主题和插件的最佳设置是什么,能够在一个版本中编辑代码并传递这些更改到了另一个?我对于将WordPress开发的所有提交与我的项目提交混合在一起并不是很疯狂,但要明白这是否是不可避免的。
更新:我现在(貌似)创建了一个有效的回购协议;我创建了以下分支:
repo-theme
:仅跟踪主题theme
:跟踪WordPress安装(排除核心文件),添加master
分支作为子模块(推送到theme
远程)wpe-staging
:跟踪WordPress安装(排除核心文件),添加production
分支作为子模块(推送到theme
远程)wpe-production
:跟踪核心文件的WordPress稳定版本,其中stable
分支作为子模块添加theme
:跟踪核心文件的最新版WordPress,并添加bleeding
分支作为子模块由于theme
作为子模块添加到所有分支,因此我在分支中所做的任何更改都可以传递给所有分支。这对我来说比拥有一个完全独立的存储库来跟踪主题更简单。
这是实现我的目标的正确方法,可以持续而没有任何冲突,或者我是在寻找麻烦吗?