我正在开发几个不同的 Joomla 附加组件,但希望将它们保留为单独的 git 存储库,因为它们有不同的开发团队(甚至组织)。但是,我也想将它们作为共享相同 Joomla 基础(被 .gitignore 忽略)的单个目录。由于 Joomla 的结构,这可能有点复杂,因为它具有以下结构:
/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
我知道我可以创建一个中央存储库并为每个子项目使用分支,并且在为正确的子项目使用正确的 Remote 时要小心。但是有没有更简单的方法(子模块?)将所有子项目保存在同一个目录中,这样如果我想复制整个项目进行测试,我就不必切换分支并使用 copy-pasta 了?
最佳答案
通常我会推荐使用子模块,但在这种情况下,由于项目的结构,它们并不合适。
一个子模块放在一个目录中,所以你不能真正将它们分散到整个项目中。
一种可能的解决方案是将所有这些文件放在一个目录中,并使用符号链接(symbolic link)将它们放在正确的位置。但这有几个缺点。您需要在每个存储库上重新创建所有符号链接(symbolic link),这也会给 Windows 用户带来问题。
关于Git 子项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5911113/