Git子项目?
我正在开发两个不同的Joomla附加组件,但希望将它们作为独立的git回购,因为它们有不同的开发团队(甚至组织)。但是,我也希望将它们作为一个目录,共享相同的Joomla基(被.gitignore忽略)。由于Joomla的结构,这可能有点复杂,因为它具有以下结构:Git子项目?,git,components,git-submodules,Git,Components,Git Submodules,我正在开发两个不同的Joomla附加组件,但希望将它们作为独立的git回购,因为它们有不同的开发团队(甚至组织)。但是,我也希望将它们作为一个目录,共享相同的Joomla基(被.gitignore忽略)。由于Joomla的结构,这可能有点复杂,因为它具有以下结构: /joomla/ |--/administrator/ |--|--/components/ |--|--|--/component_a/ |--|--|--/component_b/ |--|--/languag
/joomla/
|--/administrator/
|--|--/components/
|--|--|--/component_a/
|--|--|--/component_b/
|--|--/language/
|--|--|--/en-GB/
|--|--|--|--/component_a_lang.ini
|--|--|--|--/component_b_lang.ini
|--/components/
|--|--/component_a/
|--|--/component_b/
|--/language/
|--|--/en-GB/
|--|--|--/component_a_lang.ini
|--|--|--/component_b_lang.ini
我知道我可以进行中央回购,为每个子项目使用分支机构,但要小心为正确的子项目使用正确的遥控器。但是有没有一种更简单的方法(子模块?)将所有子项目保存在同一个目录中,这样如果我想复制整个项目进行测试,就不必切换分支和使用复制功能?通常我建议使用子模块,但在这种情况下,由于项目的结构,它们并不真正合适 子模块放在一个目录中,因此您不能将它们真正分布在整个项目中
一种可能的解决方案是将所有这些文件放在一个目录中,并使用符号链接将它们放在正确的位置。但这有几个缺点。您需要在每个存储库中重新创建所有符号链接,这也可能会给windows用户带来问题。正如@ike所说,代码在目录中的传播方式使得使用子模块来保存这些代码很麻烦 我想我应该使用单独的分支来进行单独的开发。它们是“特征”,对吗?或多或少因此,将它们视为特征分支可能是相当合适的
如果您的中央存储库由gitolite提供服务,您可以按分支设置对独立用户和组的访问。你可以这样做,每个人都可以阅读每个分支(对测试很重要),但只有受祝福的群体才能推送到他们自己的分支。我不担心其他用户,因为这是我自己的个人回购,然后我推送到多个回购(例如GitHub)哦。不知道为什么我读到你的问题暗示有多个用户。。。好吧,不管怎样,那就更简单了。这些只是功能分支。