0

我最近开始使用 git 并使用 bitbucket 来托管我的代码。我对制作分支,合并它以及推动,拉动等基础知识感到满意,但现在有一个我不确定的情况。

我基本上已经开发了一个我希望在多个项目中使用的 cms。我有一个我称之为“cms_template”的存储库。

每当我想创建一个新项目时,我只需将其克隆到一个新的存储库中。

基本上我的问题是这样的:我有网站 A 和网站 B。两者都是 cms_template 存储库的克隆,但由于它们是不同的网站,显然它们本身会发生变化。我不想将这些更改推送回 cms_template 存储库,但是当我更新 cms_template 存储库时,我希望这些更新可以“拉入”每个网站。如何最好地将我对原始 cms_template 所做的任何更新合并到这些项目中?

我也希望能够将网站 A 和 B 都推送到他们自己的远程存储库,但我对执行此操作的最佳方法感到困惑,并且不与 cms_template 存储库冲突。

希望我的问题有意义 - 如有必要,我很乐意澄清。

感谢您的建议。

4

2 回答 2

1

您应该真正考虑使用 Composer 进行依赖管理。这样,您只需要某个版本的 CMS,并且可以独立于其他项目对其进行更新。

您还避免了 git 子模块的麻烦,据报道它们存在问题(我无法对此发表评论,因为我自己没有使用过它们,但我有点害怕,如果可能的话可能会避免使用它们)。

使用 composer 就像下载 phar 文件并将文件添加composer.json到所有存储库中以声明依赖项和元数据一样简单。您还可以免费获得一个自动加载器,并且能够包含任何其他提供 Composer 元数据或在http://packagist.org注册的库(这很多。

有关详细信息,请参阅http://getcomposer.org/

于 2013-10-13T19:51:21.153 回答
0

这听起来像是 git 子模块的完美设置(请参阅http://git-scm.com/book/en/Git-Tools-Submodules上的更多信息)

编辑:保留来自 master 的 cms 分支上的单独更改,并将使用子模块的更改拉入您的项目中。随时更新您的主 cms 分支,然后重新设置网站 a/b 的基础。

于 2013-10-13T19:32:44.083 回答