2013-10-13 56 views
0

我已经开始使用最近使用git并使用bitbucket来托管我的代码。我对基础知识很满意,比如做一个分支,合并它并推动,拉动等等,但现在有一种我不确定的情况。为多个项目使用git存储库

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

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

基本上我的问题是这样的:我有网站A和网站B.两个都是cms_template回购的克隆,但显然会有自己的权利,因为他们是不同的网站的变化。我不想将这些更改推回到cms_template回购库,但是当我更新cms_template回购库时,我希望这些更新能够在每个网站中“可抽取”。如何最好地将我对原始cms_template所做的更新合并到这些项目中?

我也希望能够将网站A和B都推送到他们自己的远程存储库,但是对于这样做的最佳方式感到困惑,并且与cms_template回购库不冲突。

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

感谢您期待您的建议。

+0

HTTP://计算器。 com/questions/2140985/how-to-set-up-a-git-project-to-use-an-external-repo-submodule – Farkie

+0

非常感谢!明天将会看到这个!看起来很完美 – lcainswebdeveloper

回答

0

这听起来像git的子模块(见http://git-scm.com/book/en/Git-Tools-Submodules更多信息)

编辑完美的设置:保持对CMS分行个人从改变​​主拉那些使用子模块到自己的项目。随时更新您的主cms分支,然后重新绑定网站a/b。

+0

非常感谢很多,这里有两个很棒的建议 – lcainswebdeveloper

1

您应该仔细研究使用Composer进行依赖关系管理。这样,您只需要一个CMS的某个版本,并且可以独立于其他项目更新它。

你也避免了git子模块的麻烦,这些模块被报告有他们的问题(我不能评论这一点,因为我没有自己使用它们,但是我害怕了一点,如果可能的话可能会避免它们) 。

使用composer就像下载phar文件一样简单,并将composer.json文件添加到所有存储库以声明依赖关系和元数据。您也可以免费获得自动加载磁带机,以及包括提供作曲家元数据或http://packagist.org注册(这是很多其他库的能力

更多信息,请参见http://getcomposer.org/

+0

谢谢Sven!我之前使用过作曲家,但没有考虑过这个,好主意也会研究这个 – lcainswebdeveloper