zoukankan      html  css  js  c++  java
  • monorepo和multrepo的简介

    项目管理的方式是多种形势的,依据管理的方式类进行项目建仓。

    mono或者mult其实都是项目管理的方式,只是两种方式是刚好相反的,拿来一起说是,更方便记忆而已。

    multrepo:将项目分化成为多个模块,并针对每一个模块单独的开辟一个reporsitory来进行管理。

         优点:1.团队自己的IDE,语言,以及工作步调。

            2.模块更小,更易维护。

            3.开发效率更高。

         缺点:1.合并困难,每个模块规范不同,同步和编译时这些问题将会集体爆发。

            2.难以保证稳定性。

            3.由于可能存在不同语言开发,或者不同IDE的情况,新建或者更新构建变得困难

    monorepo:是将所有的模块统一的放在一个主干分支之中管理。不进行分库存储,当有特定的需要的时候进行分支,但是问题修改还是在主干上操作,并有专门人员合并到分支内容上,在特定需求完结的时候,分支也将会被废弃。点击这里,查看详细介绍

         优点:1.统一的规范,语言,和IDE带来的是结构的完整稳定。

            2.按照统一的标准进行开发,是哦程序稳定性更良好,更易解读。

            3.标准化的开发流程,规避很多不必要的冲突与错误。

         缺点:1.项目过大,难以管理。

            2.由于统一的标准,不同的团队可能需要对于新的规范和IDE进行了解学习,需要时间。

            3.修改和开发可能变得繁琐,减慢效率。

    如果你们团队选择 monorepo,那主要的挑战自然是随着项目的发展,其会变得非常庞大(因为没有根据模块或功能拆分成不同 repo)。因此会需要很多的工具来应对这样的挑战。

    • 你会需要强大的构建工具,比如 Google 的 Bazel, Facebook 的 Buck 和 Twitter 的 Pants
    • 仓库变得太大,对你们的版本控制技术会有很大的挑战。因为 Git 社区建议的是使用更多更小的代码库,Git 本身并不适合单个巨大的代码库。
    • 因为所有的代码都放在一起,你需要时刻保持警惕,以保持良好的项目结构和提交测试。
    • 在这么大的 workspace 中工作或使用了非标准化的构建工具,你常用的 IDE 可能会遇到麻烦。Facebook 就选择了构建自己的 IDE。
  • 相关阅读:
    Hello World!
    Nginx加权轮询算法
    git常用命令
    linux命令
    sql 表值函数与标量值函数
    数据查询和操纵时连接的打开状态
    插入一条和上一条数据关联的数据
    C# 输出24小时格式时间
    c#中用sql存储过程
    AndroidManifest.xml文件解析
  • 原文地址:https://www.cnblogs.com/pingchuanxin/p/9877843.html
Copyright © 2011-2022 走看看