构建 Git 存储库的良好做法
Good practices structuring Git repository
我的团队需要重写一个经过高度修改的 moodle 平台。我们将要面对的方式是创建几个与 moodle 本身集成的插件。
这些插件也安装在 moodle 文件夹结构的几个不同文件中。
一个非常基本的例子是:
/root
/folder_1
/plugin_1
/plugin_2
/folder_2
/plugin_1
/plugin_2
这引发了构建我们的 git 存储库的问题,因为随着插件数量的增加,部署会变得缓慢和笨拙
我们正在考虑基本上三种方式:
- 独立 Git 存储库。 每个插件都有自己的存储库。由于每个插件都执行特定的工作,不一定彼此相关,因此这将是一种干净的方式。问题是 gitlab 中有大量实际上彼此相关的项目可能看起来有点难看。此外部署可能是最慢的,但最容易更新单个插件。
- 每个 moodle 文件夹一个存储库。最容易部署,但更新或修复单个插件可能不是那么简单
- 每个文件夹的分支。 一个包含所有插件的大型存储库,但有许多 'main' 个包含多个插件的分支。 gitlab 上的清洁器,因为所有插件都在同一个项目中,在分支选项卡中不是那么干净。此外,在不同的插件上工作需要非常频繁地检查分支。
基本上,我要的是一些建议,以处理比平时更大、更分散的项目(对我而言)。
提前致谢。
您可能想要使用 git 子模块
这些是每个插件的独立 git 存储库,但您可以使用主 git 项目来同步它们。
这里有一个指南描述了 Moodle 3.9+ 的过程
https://docs.moodle.org/311/en/Moodle_development_environment_with_Git_submodules
我的团队需要重写一个经过高度修改的 moodle 平台。我们将要面对的方式是创建几个与 moodle 本身集成的插件。 这些插件也安装在 moodle 文件夹结构的几个不同文件中。 一个非常基本的例子是:
/root
/folder_1
/plugin_1
/plugin_2
/folder_2
/plugin_1
/plugin_2
这引发了构建我们的 git 存储库的问题,因为随着插件数量的增加,部署会变得缓慢和笨拙
我们正在考虑基本上三种方式:
- 独立 Git 存储库。 每个插件都有自己的存储库。由于每个插件都执行特定的工作,不一定彼此相关,因此这将是一种干净的方式。问题是 gitlab 中有大量实际上彼此相关的项目可能看起来有点难看。此外部署可能是最慢的,但最容易更新单个插件。
- 每个 moodle 文件夹一个存储库。最容易部署,但更新或修复单个插件可能不是那么简单
- 每个文件夹的分支。 一个包含所有插件的大型存储库,但有许多 'main' 个包含多个插件的分支。 gitlab 上的清洁器,因为所有插件都在同一个项目中,在分支选项卡中不是那么干净。此外,在不同的插件上工作需要非常频繁地检查分支。
基本上,我要的是一些建议,以处理比平时更大、更分散的项目(对我而言)。 提前致谢。
您可能想要使用 git 子模块
这些是每个插件的独立 git 存储库,但您可以使用主 git 项目来同步它们。
这里有一个指南描述了 Moodle 3.9+ 的过程
https://docs.moodle.org/311/en/Moodle_development_environment_with_Git_submodules