RSA*_*A99 5 wordpress mercurial wordpress-theming mercurial-subrepos
我们打算将Mercurial用于我们的WordPress网站开发的版本控制。
WordPress中的开发模型规定,开发通常在插件和主题的主根目录下的两个子目录中进行,而主根目录可以通过WordPress版本更新进行更改,而无需进行版本控制。
我的问题是,这种情况是否最好用位于根目录下的hgignore来从VC中删除主要WordPress代码的存储库进行管理,而仅将前面提到的子目录控制在其中,或者将几个子存储库植根于发生开发的目录中和包装父存储库将它们连接在一起?
每种方法的优缺点以及对部署的影响是什么?
使用第二种方法(子存储库),当您在新服务器上进行初始拉动时,开发目录是否会在WordPress树中的正确位置创建?
小智 1
作为一般做法,我强烈建议仅对您打算维护的源代码进行版本控制。我之前使用 Git 为每个主题/插件创建了 1 个存储库,并取得了良好的效果。除了父/子主题关系之外,WordPress 主题或多或少是完全相互独立的。由于每个主题在逻辑上都是独立的,因此将其作为单独的实体进行版本控制也是有意义的。
在某些时候,您也很可能想要推送一个主题的更新,而不是其他主题的更新。拥有单独的存储库可以更轻松地签入所有不同主题的更改,但一次只能发布一个更改。虽然您可以使用分支实现相同的结果,但如果您有多个主题,它可能会变得非常复杂。
当然,这很大程度上取决于什么是舒适的,但根据我管理 50 多个主题的安装的经验,这正是最有效的。