Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为多个项目使用git存储库_Php_Git_Github_Bitbucket - Fatal编程技术网

Php 为多个项目使用git存储库

Php 为多个项目使用git存储库,php,git,github,bitbucket,Php,Git,Github,Bitbucket,我最近开始使用git,并使用bitbucket托管我的代码。我对一些基础知识很熟悉,比如做一个分支,合并它,推拉等等,但是现在有一个我不确定的情况 我已经基本上开发了一个cms,我希望在多个项目中使用。我有一个存储库,我称之为“cms_模板” 每当我想创建一个新项目时,我只是将其克隆到一个新的存储库中 基本上,我的问题是:我有网站A和网站B。这两个网站都是cms_模板回购协议的克隆,但显然它们本身会有变化,因为它们是不同的网站。我不想将这些更改推回到cms_模板回购协议中,但当我更新cms_模板

我最近开始使用git,并使用bitbucket托管我的代码。我对一些基础知识很熟悉,比如做一个分支,合并它,推拉等等,但是现在有一个我不确定的情况

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

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

基本上,我的问题是:我有网站A和网站B。这两个网站都是cms_模板回购协议的克隆,但显然它们本身会有变化,因为它们是不同的网站。我不想将这些更改推回到cms_模板回购协议中,但当我更新cms_模板回购协议时,我希望这些更新可以“拉”到每个网站中。如何最好地将我对原始cms_模板所做的任何更新合并到这些项目中

我还希望能够将网站A和B推送到它们自己的远程存储库,但我对这样做的最佳方式感到困惑,并且不与cms_模板repo冲突

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


感谢您的建议。

这听起来像是git子模块的完美设置(请参阅上的更多信息)


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

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

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

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


有关更多信息,请参阅。

非常感谢!我们明天会看这个。看起来很完美谢谢Sven!我以前使用过composer,但没有考虑过它。好主意也会研究这个