我和一个团队中的10个开发人员一起在一个私有的 GitLab 仓库上工作,里面包含以下项目:
问题: 我们目前只销售具有源代码的“客户端”和“界面”,并希望授予我们的客户对这些(子)项目的访问权限,以及它们的历史记录,并能够轻松地推送更新并使用 GitLab 的问题功能。
我想到的解决方案: 1. 如果这是一个公共存储库,我会简单地使用 git 子模块,但是这种解决方法似乎无法与私有存储库无缝配合使用。(如果能用的话——我已经阅读了很多关于路径无效的问题) 2. 如果我为“客户端”和“界面”创建了超级干净的分支,我可以添加另一个全新的远程存储库,然后简单地将这两个分支推送到它。但是这个解决方案的问题在于,我们有没有经验的开发人员加入进来,一个不干净的推送或来自“develop”分支的推送就会使整个想法无用。风险太高了。 3. 我还有另一个想法,将这两个子项目从私有存储库中移出,在私有存储库中创建子模块。但这种方式似乎也相当不方便,因为我们的持续集成将在不同的存储库中运行,而且我们自己的问题也将在那里跟踪。
因为这是一个非常具体的设置和计划,所以我很想听听您的想法来解决这种情况。谢谢您的时间。
- 服务器
- AI
- 客户端
- 界面
- 其他(协议、公共关系材料等)
问题: 我们目前只销售具有源代码的“客户端”和“界面”,并希望授予我们的客户对这些(子)项目的访问权限,以及它们的历史记录,并能够轻松地推送更新并使用 GitLab 的问题功能。
我想到的解决方案: 1. 如果这是一个公共存储库,我会简单地使用 git 子模块,但是这种解决方法似乎无法与私有存储库无缝配合使用。(如果能用的话——我已经阅读了很多关于路径无效的问题) 2. 如果我为“客户端”和“界面”创建了超级干净的分支,我可以添加另一个全新的远程存储库,然后简单地将这两个分支推送到它。但是这个解决方案的问题在于,我们有没有经验的开发人员加入进来,一个不干净的推送或来自“develop”分支的推送就会使整个想法无用。风险太高了。 3. 我还有另一个想法,将这两个子项目从私有存储库中移出,在私有存储库中创建子模块。但这种方式似乎也相当不方便,因为我们的持续集成将在不同的存储库中运行,而且我们自己的问题也将在那里跟踪。
因为这是一个非常具体的设置和计划,所以我很想听听您的想法来解决这种情况。谢谢您的时间。