简单了解波 Mono-repo & Multi-repo(Poly-repo)

Mono-repo 和 Multi-repo 是软件开发中代码管理的两个不同策略。Mono-repo & Multi-repo 孰优孰劣是个老生常谈得话题了,这里就不 PK 了,“略微”看下两者区别。

当我们使用 Git 作为版本控制系统管理项目的代码时,那么 monorepo 与 multirepo 的定义表述如下:

  • monorepo,使用一个 Git 仓库管理项目相关的多个 模块/包/功能/应用。
  • multirepo(又称为 polyrepo),使用多个 Git 仓库分别管理项目的每一个 模块/包/功能/应用。

Monorepo 的应用实例

GitHub 有很多的使用 Monorepo 风格管理代码的开源项目,比如大名鼎鼎的 Babel,项目结构如下图:

Babel GitHub Repo

packages 目录下存放了很多个 Babel 相关的子项目。

googles-monorepo-demo给出了一个基于 Maven 构建工具的 Google 风格的 Monorepo 项目。

还有大佬给出了有 CI/CD pipeline 基于 Java, Maven, GitHub Actions 的 Demo 👉 monorepo-maven-example

monorepo-maven-example-with-github-actions

使用工具快速搭建 Monorepo 风格的项目

现今,有许多可以创建 Monorepo 风格项目的工具,在前端社区有 Lerna、Nx、Rush Stack、Yarn Workspaces 等,还有许多其它的构建工具可以用于创建 Monorepo 风格的项目,见项目 -> awesome-monorepo。这里让我们看看通过 Nx 创建的 Monorepo 风格的项目是怎么样的:

Nx create project

project structure

medium 上有篇文章简述了 11 种不同 Monorepo 构建工具的特点:11 Great Tools for a Monorepo in 2021

一图看 Monorepo 和 Multirepo 的区别

这里我们用一张图来看下使用 Git 管理多个 package 时,Monorepo 和 Multirepo(Polyrepo) 的区别:

Monorepo & Multirepo(Polyrepo)

Don't say so much. 就这样了🤨🕊️,又水了一篇文章。

本文由博客群发一文多发等运营工具平台 OpenWrite 发布

JetbrainsMono-Consolas-Menlo混合字体是一种特殊的字体组合,将Jetbrains Mono、Consolas和Menlo等字体进行组合使用。这种混合字体的目的是为了在编程和开发环境中提供更好的可读性和舒适的视觉体验。 首先,Jetbrains Mono是一种专门为编程界面设计的等宽字体,它具有优秀的可读性和清晰的字形,使得代码更加易于阅读和理解。Consolas和Menlo是其他常用的等宽字体,它们也具有良好的可读性和字形清晰度。 通过将这三种字体进行混合使用,可以利用它们各自的优点,进一步提升字体的清晰度和易读性。这种混合字体的设计可以在编程环境中显示各种代码元素,如关键字、注释、变量名等,使得这些元素更加清晰可辨,从而提高代码的编写和理解效率。 另外,JetbrainsMono-Consolas-Menlo混合字体的设计还考虑了字体大小和行间距的调整,以保证在各种分辨率和显示设备上都能够有效地展示代码内容。这样的设计可以在不同的屏幕尺寸和显示条件下,确保代码在各种环境下都能够清晰可见,不会因为字体过小或显示模糊而造成阅读困难。 总而言之,JetbrainsMono-Consolas-Menlo混合字体是一种专门为编程和开发环境设计的字体组合,通过混合使用Jetbrains Mono、Consolas和Menlo等字体,提供更好的可读性和舒适的视觉体验,以提高代码编写和理解效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yeshan333

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值