repo管理多仓库

以windows为例

1.下载git,python并安装

2.在指定目录下下载repo

复制代码
# 假设你在项目目录 /d/my-project
cd /d/my-project

# 下载 repo 到当前目录
curl https://storage.googleapis.com/git-repo-downloads/repo > repo
chmod a+x repo

结束后执行repo --version查看,如果出现/usr/bin/env: 'python3': Permission denied,
修改 /d/my-project/repo,把第一行#!/usr/bin/env python3改为#!/usr/bin/env python

3.准备清单文件,新建一个git库,存放一个default.xml,上传

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
    <!-- 定义所有仓库共同的远程服务器地址 -->
    <remote name="origin" fetch="git@github.com:my-org/" />
    <!-- 定义默认的分支和远程源 -->
    <default remote="origin" revision="main" />

    <!-- 定义两个仓库,path 是本地存放路径,name 是仓库名,revision指定分支 -->
    <project path="services/backend" name="backend.git" revision="master"/>
    <project path="services/frontend" name="frontend.git" revision="develop" />
</manifest>

4.另找一个目录,初始化repo工作区

复制代码
/*使用default.xml*/
repo init -u git@github.com:my-org/my-manifest.git

/*指定xml*/
repo init -u <你的清单仓库URL> -b <分支名> -m <你的清单文件名>.xml


/*
repo工具默认会从 https://gerrit.googlesource.com/git-repo/ 下载它自己需要的组件,而这个地址在国内无法直接访问
*/
repo init -u git@github.com:my-org/my-manifest.git \
  --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/ \
  --no-repo-verify

5.使用repo sync同步拉取代码

如果调整了xml,需要重新执行4.5步骤

上述示例仓库来自同一个平台,repo也可以同时配置来自不同平台的仓库,示例为Gitee 和 GitCode 两个不同平台。

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
    <!-- 定义 Gitee 的远程服务器 -->
    <remote name="gitee"
            fetch="https://gitee.com/"
            review="https://gitee.com/" />

    <!-- 定义 GitCode 的远程服务器 -->
    <remote name="gitcode"
            fetch="https://gitcode.net/"
            review="https://gitcode.net/" />

    <!-- 设置默认属性:默认使用 gitee 远程源,分支为 main -->
    <default remote="gitee" revision="main" sync-j="4" />

    <!-- 从 Gitee 拉取的仓库 -->
    <project path="vendor/common"
             name="your-org/common-lib.git"
             remote="gitee"
             revision="main" />

    <project path="app/module-a"
             name="your-org/module-a.git"
             remote="gitee"
             revision="develop" />

    <!-- 从 GitCode 拉取的仓库 -->
    <project path="vendor/special"
             name="special-org/special-lib.git"
             remote="gitcode"
             revision="master" />

    <project path="app/module-b"
             name="special-org/module-b.git"
             remote="gitcode"
             revision="release/v1.0" />
</manifest>
相关推荐
IT研究室42 分钟前
最新大数据毕业设计选题推荐-基于大数据的AI助手系统性软件缺陷评论挖掘与可视化-大数据-Spark-Hadoop-Bigdata
大数据·人工智能·课程设计
Sayai1 小时前
Flink 日志解析任务性能优化实战:正则/Grok 预编译、Guava 缓存权重陷阱与 ES 写入隔离
java·大数据·性能优化·flink·实时计算
Elastic 中国社区官方博客1 小时前
基于 Jina OCR v1 与 Elasticsearch 的 PDF 智能混合检索与 RAG 系统实战指南
大数据·数据库·elasticsearch·搜索引擎·ocr·jina
渣渣盟1 小时前
Flink SQL 流批一体:从 SQL 到执行计划,优化器如何工作?
大数据·sql·flink
腾讯云大数据1 小时前
腾讯云发布一站式多模态数据处理与模型训推方案,助力Physical AI释放生产力
大数据·人工智能·云计算·腾讯云
Easy_API9 小时前
2.8万亿参数,编程反超GPT-6 Astra:Kimi K3.1 Pro把开源模型推到了哪一步
大数据·人工智能·gpt·深度学习
GlobalInfo9 小时前
2026年机器人多指灵巧手市场分析报告——涵盖行业调查、趋势分析与发展前景
大数据·人工智能·microsoft·微服务·机器人
微订校园外卖平台11 小时前
校园外卖平台选模板还是定制:架构、数据流与验收清单
大数据·架构·外卖系统·本地生活·微订
Eloudy12 小时前
Qwen2.5-14B-Instruct-AWQ 模型文件结构分析
大数据·elasticsearch·搜索引擎
重生之高冷汉堡包15 小时前
跨境电商运营团队如何安全交接店铺账号?多账号权限管理指南
大数据