数月以来,我一直在尝试计划一个好的项目结构,以便将git版本控制用于WordPress网站开发,而不会牺牲通过WP仪表板更新核心和插件的能力,不需要非常规的目录结构(wp -WP父文件夹之外的内容),并且易于管理和部署整个网站。我已经读过有关子模块,子树,嵌套存储库等的信息,但我仍然很难将它们全部组合在一起并选择正确的策略。
这就是我现在正在考虑的内容,以及有关如何处理括号中的git repos的想法。
root (main project repo)
|-- wordpress (public git repo added as subtree)
| |-- wp-content
| | |-- plugins
| | | |-- my-custom-plugin (git repo added as subtree)
| | | |-- other-plugin-with-git-repo (git repo added as subtree)
| | | +-- other-plugin-without-git-repo (ignored/untracked)
| | |-- themes
| | | |-- my-custom-theme (git repo added as subtree)
| | | |-- other-theme-with-git-repo (git repo added as subtree)
| | | +-- other-theme-without-git-repo (ignored/untracked)
| | +-- uploads (ignored/untracked)
| |-- wp-admin
| +-- wp-includes
|-- wp-config.php (ignored/untracked)
+-- other-files.txt
这给我带来了一些问题/疑问;
自动更新; 我喜欢这项新的自动更新功能,它可以节省大量时间和精力来保持我的网站的更新和安全,但是似乎它在跟踪git的代码更改方面投入了精力。有什么方法可以跟踪我的代码更改,同时仍然允许WordPress核心自动更新?
在WordPress核心存储库下拥有子树是否会阻止我使用git合并到新的核心更新中,或者阻止我将更改推回WordPress核心存储库(如果我决定要成为核心贡献者)?
对于没有公共git repo的插件,完全忽略它们会产生以下问题:无法在没有手动将文件复制到服务器的情况下快速克隆新服务器上的整个站点。如果我想对该插件的代码进行更改,也会引起问题,这些更改不会被跟踪,并且很容易在插件升级中丢失。
因此,总而言之,如何避免这些问题的git + WordPress设置良好?感谢您对我提议的项目结构的反馈。您可以通过任何方式帮助我改善此状况,我们将不胜感激!
PS,如果有更好的论坛进行讨论,请指向我。