我曾经使用SVN,但最近决定尝试GIT。 我已经理解了GT的概念以及SVN和GIT之间的差异。 总的来说,我对GIT很满意。
我到目前为止唯一的问题是:
在SVN我使用外部。我使用Symfony 2框架进行编码。我创建了一个存储库 名称为FooBaseBundle,包含所有symfony 2文件夹和文件以及2个捆绑包,BaseBundle和UserBundle。 这是我所有其他项目的基础,并具有基本功能。它还拥有所有供应商和其他任何东西。
这个BaseBundle不起作用,不能工作芦荟,只是我所有项目所依赖的基础物。
然后我有一个名为FooCarBundle的真实项目。这是一个真实的应用程序/网站。 但是,它具有Base作为存储库,以及与此项目仅相关联的其他一些捆绑包。
简而言之,如何在GIT中实现这一目标?如何拥有一个所有项目都将使用它的Base存储库(当然,当我从一个项目进行更改然后Base将被更改为所有)然后使用外部特定项目包/插件?
类似的东西:
Project->app (Base Repository)
->vendors (Base Repository)
->bundles (Base Repository)
->BaseBundle (Base Repository)
->UserBundle (Base Repository)
->FooCarBundle (External FooCar Repository)
->FooCarBackEndBundle (External FooCarBackEnd Repository)
->web (Base Repository)
因此,当我更改Base Repository中的文件并提交时,应该将其提交到Base存储库,然后在更新时使用Base存储库的另一个项目将应用此更改。但是,如果我只更改FooCarBundle或FooCarBackEndBundle中的文件,那么这些文件仅适用于FooCar Repository并且不会影响任何其他项目,因为FooCar Repository仅用于FooCarBundle
非常感谢新年快乐!