专栏名称: 开源前线
推荐热门开源软件,播报最新开源项目和开源资讯!
目录
相关文章推荐
艾邦高分子  ·  耐克新获3D打印专利,可将鞋底直接打印在鞋面上 ·  9 小时前  
高分子科技  ·  广西大学林宝凤教授团队 CEJ: ... ·  2 天前  
高分子科技  ·  西南大学李楠楠课题组 Nat. ... ·  3 天前  
鲁中晨报  ·  每人144元、110元!淄博发布最新通告 ·  2 天前  
51好读  ›  专栏  ›  开源前线

百度又一开源神器来了!知道的人还不多

开源前线  · 公众号  ·  · 2021-05-13 10:25

正文


开源最前线(ID:OpenSourceTop) 猿妹整编

项目地址: https://github.com/baidu/m-git


今天要和大家推荐一款百度新开源的一款基于Git的多仓库管理工具——MGit,它可以高效的、同时的对多个 Git 仓库执行Git命令。适合于在多个仓库中进行关联开发的项目,提高Git操作的效率,避免逐个执行Git命令带来的误操作风险。

MGit具有以下特性:
  • 易用的命令: 封装 Git 命令,命令和参数均由 Git 衍生而来,会使用 Git 就可以成本低上手 MGit。

  • 直观高效的执行命令: 提供图表化的结果展示,开发者可以快速查看命令在多个仓库的执行结果;多线程并发执行多仓库命令,通过仓库缓存机制提高仓库的拉取效率;

  • 安全的执行命令: 在执行命令前对多仓库状态进行安全检查:分支是否异常,工作区是否未提交代码等;对 .git 进行托管与 Git 工作区分类,避免误删丢失改动或提交;执行存在风险的操作时,会给与风险操作提示,避免误操作;

  • 方便扩展: 支持加载 ruby-gem 包作为插件,gem 包名格式 m-git-${suffix}和mgit-${suffix} 快速的扩展 MGit 的命令,增加自定义命令,扩展已有命令的功能;提供类似git hook的 hook 点,方便开发者实现自定义逻辑;



快速开始

1、安装MGit工具的环境要求:
  • 系统:支持 macOS、Ubuntu,暂时不支持 Windows

  • Ruby版本: >= 2.3.7


2、初始化多仓库使用 mgit init 命令;类似于 Git 从远程 clone 新仓库, 会将多个仓库 clone 到本地;下面通过一个 demo 体验一下 MGit 命令:

3、已有多仓库如何迁移到 MGit 管理, 根据文档配置 manifest.json,将要管理的仓库都配置到 manifest.json 中

将 manifest.json 放到一个仓库中管理,这个仓库同样会在 manifest.json 中描述,并且需要配置 "config-repo": true,这个仓库称为配置仓库,也叫做主仓库,其他仓库叫做子仓库

使用 mgit init -f manifest文件路径 初始化多仓库,命令测试 manifest.json 配置是否正常,注意这个命令不会重复拉取主仓库,只会拉取所有的子仓库到当前目录,并在当前目录创建一个.mgit,你可以在当前目录中看到每个仓库的源码,他们的路径可以通过 manifest.json 的 dest字段配置,你也可以在 .mgit/source-git/ 下看到所有仓库的.git, 这是 MGit 对所有仓库的托管

本地测试成功后,你可以提交主仓库中的 manifest.json,推送主仓库的变更到远端, 通过 mgit init -g 主仓库地址命令初始化多仓库



目前,mgit已经在Github上标星103,说明还没有什么小伙伴们知道,感兴趣的小伙伴们赶紧尝试一下吧(Github地址: https://github.com/baidu/m-git


推荐↓↓↓






请到「今天看啥」查看全文