Discuz! Board

 找回密碼
 立即註冊
搜索
熱搜: 活動 交友 discuz
查看: 67|回復: 0

混合多聚-单晶方法

[複製鏈接]

2

主題

2

帖子

8

積分

新手上路

Rank: 1

積分
8
發表於 2023-10-29 11:38:54 | 顯示全部樓層 |閱讀模式
如果我们无法决定是使用多存储库还是单一存储库方法,还有一种中间方法:使用多个存储库并使用某种工具来保持它们同步,类似于单一存储库,但更具灵活性。Meta 就是这些工具之一。 它将多个存储库组织到子目录中,并提供一个命令行界面,可以同时在所有存储库上运行相同的命令。


元存储库包含有关组成项目的存储库的信息。 通过元存储库克隆此存储库将 西班牙电话号码数据 递归克隆所有必需的存储库,使新团队成员可以轻松地立即开始处理他们的项目。

要克隆元存储库和所有定义的多存储库,我们需要运行以下命令:

元 git 克隆 [元存储库 url]
Meta 将为每个存储库运行 git 克隆并将其放置在子文件夹中:

克隆元项目。
克隆元项目。 (图片来源:github.com/mateodelnorte/meta)
从那里运行 meta exec 命令将在每个子文件夹上运行该命令。 例如,在每个存储库上运行 git checkout master 是这样完成的:

元执行“git checkout master”
混合单多晶方法
另一种方法是通过 monorepo 管理代码以进行开发,但将代码从每个库复制到单独的存储库以进行部署。

这种策略在 PHP 生态系统中很常见,因为 Packagist(主要 Composer 存储库)需要公共存储库 URL 来发布包,并且不可能指示该包位于存储库的子目录中。



由于Packagist的限制,PHP项目仍然可以使用monorepo进行开发,但必须使用multi-repo方式进行部署。

为了实现这种转换,我们可以使用 git subtree split 运行脚本或使用执行相同逻辑的可用工具之一:

回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

Archiver|手機版|小黑屋|DiscuzX

GMT+8, 2024-11-19 03:35 , Processed in 0.032947 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表