【问题标题】:Lerna Monorepo keeping individual git repos as packagesLerna Monorepo 将单个 git 存储库作为包保存
【发布时间】:2019-09-17 10:33:43
【问题描述】:

在 lerna 中,可以在 lerna 项目的根级别和 packages 文件夹中初始化 git,我们保留我们的小型单个项目。现在假设,您希望将这些包的 git 历史记录和提交彼此隔离。因为你为什么要混合不相关项目的提交历史。 考虑到您正在将已经存在的两个或多个项目合并到一个 lerna 项目中。我们是否没有办法,只能从这些子包中删除 .git 文件夹,因为它将混乱的 git 子模块概念引入图片中?什么是更清洁的方式来享受 monorepo 的好处,同时保持子包的 git 提交历史和工作流程彼此独立?任何示例将不胜感激。

【问题讨论】:

  • 你有没有想到这一点,或者可以分享你从中学到的任何东西?

标签: javascript reactjs git lerna monorepo


【解决方案1】:

现在假设,您希望将这些包的 git 历史记录和提交彼此隔离。因为你为什么要混合不相关项目的提交历史。

这不是lerna 的全部意义吗?将相关的包组合在一起,因为它们是相关的和相互依赖的?如果您想要的是可以相互依赖的独立项目,我认为您可能会选择 git submodules 之类的东西。

【讨论】:

  • lerna (monorepo) 的重点是管理相互关联的包之间的依赖关系,并为子包共享配置(test、eslint 等)。它可以完成这项工作,但问题是如何在使用 lerna 管理依赖项的同时单独共享子包并单独保留提交历史记录。能够只为一个子包存储库而不是全部授予某些第 3 方开发人员的访问权限会很方便。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-06
  • 2018-08-10
  • 2021-12-01
  • 2011-12-09
相关资源
最近更新 更多