git - 如何为多层架构构建 Git 存储库

标签 git github bitbucket

我认为现在的架构是典型的,包括 iOS 客户端、Android 客户端和 J2EE 后端。这些在文件系统中看起来像这样:

  • 我的项目
    • 代码
      • client_iOS
      • client_android
      • server_J2EE
      • 数据库
    • 创意
    • 其他

当我独自工作并对整个堆栈进行编码时,我将所有内容都放在同一个 git 存储库中,文件夹为 .git。在 <myProject> 下.这很棒,因为我可以跟踪整个堆栈中每个“功能”的变化。例如,修复错误可能需要更改服务器 + iOS 文件,因此必须统一跟踪此类更改。

但是现在团队即将扩大,我需要限制相关团队跨这些层的访问。例如,后端团队不应该能够访问 iOS 文件,反之亦然。理想情况下,我希望 git(或 git 主机)在每个文件夹的基础上获得授权,这将很好地解决问题。但我在任何地方都没有看到该功能。

如果我将代码拆分到单独的存储库中,我们将无法再同步跟踪更改。回滚到以前的版本,因为这些独立的 repo 随着时间的推移异步发展,将变得一团糟。

我阅读了有关 git 子模块的内容,但它看起来并不适合这个用例。从人类工作量的角度来看,它们也有很多开销和出错的空间。这似乎是一个典型的场景,我想听听其他人是如何处理这个问题的。

最佳答案

这是一个常见的项目增长挑战。最常见的解决方案是将多个存储库与共享或独立的发布名称联系在一起;参见例如 Spring Framework项目与 Spring Boot 的关系项目。

注意:我的偏好是制作这些独立的存储库,但所有开发人员都可以访问——重点是使整个开发周期尽可能快。

关于git - 如何为多层架构构建 Git 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34697260/

相关文章:

git - git中别名和分支的区别

git - --假设同步时未更改的文件会发生什么?

bitbucket - Bitbucket管道在分支之间共享一些步骤

git - 如果你已经 fork 了一个 repo 并且你是 fork 的唯一用户,那么在推送之后 rebase 是否可以?

python - PyGithub 中的帐户名

node.js - yarn 包管理器 : install dependencies from private Bitbucket repository

git - 将 git 存储库从 bitbuckets 复制到生产环境

git - 无法推送到远程 GIT 存储库 -- "[...] does not appear to be a git repository"

Git子树 merge 删除正在 merge 到的分支中的更改

node.js - 如何在 github 上隐藏不和谐 token