5

我们打算使用 Mercurial 对我们的 WordPress 网站开发进行版本控制。

WordPress 中的开发模型规定,开发通常发生在插件和主题的主根目录之外的几个子目录中,而主根目录会通过 WordPress 版本更新进行更改,并且不需要进行版本控制。

我的问题是,是否最好使用位于根目录的存储库来管理这种情况,并使用 hgignore 从 VC 中删除主要的 WordPress 代码,仅控制前面提到的子目录,或者将几个子存储库植根于开发发生的目录中和一个包装父存储库将它们连接在一起?

每种方法的优缺点以及对部署的影响是什么?

使用第二种方法(子存储库),当您在新服务器上进行初始拉取时,开发目录会在 WordPress 树中的正确位置创建吗?

4

1 回答 1

1

作为一般做法,我强烈建议仅对您打算维护的源代码进行版本控制。使用 Git,我以前为每个主题/插件完成了 1 个存储库,效果很好。除了父/子主题关系之外,WordPress 主题或多或少是完全独立的。由于每个主题在逻辑上都是独立的,因此将其作为单独的实体进行版本控制也是有意义的。

您也很可能在某个时候想要推送一个主题的更新,而不是其他主题。拥有单独的存储库可以更轻松地签入所有不同主题的更改,但一次只发布一个更改。虽然您可以使用分支实现相同的结果,但如果您有多个主题,它可能会变得非常复杂。

当然,这主要取决于舒适性,但根据我管理 50 多个主题的安装的经验,这只是最简单的方法。

于 2014-01-16T01:50:25.110 回答