笔记-使用Repo工具管理多个关联仓库(适用于复杂项目)

笔记-使用Repo工具管理多个关联仓库(适用于复杂项目)

Repo工具通过一个manifest文件统一管理多个Git仓库,常用于Android等大型项目。

1. 安装Repo工具

下载Repo引导脚本并配置镜像源(以清华大学镜像为例):

cpp 复制代码
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > /usr/local/bin/repo
chmod +x /usr/local/bin/repo
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
2. 创建Manifest仓库

初始化一个裸仓库作为中心仓库:

cpp 复制代码
git init --bare manifest.git

创建default.xml文件,定义子仓库路径和远程源:

cpp 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
    <remote name="origin" fetch="ssh://user@server:/path/to/repos"/>
    <default remote="origin" revision="master"/>
    <project path="module1" name="module1.git"/>
    <project path="module2" name="module2.git"/>
</manifest>

提交并推送default.xml:

cpp 复制代码
cd manifest.git
git add default.xml
git commit -m "Initial manifest"
git push origin master
3. 客户端初始化

在本地创建工作目录并初始化Repo:

bash 复制代码
mkdir myproject && cd myproject
repo init -u ssh://user@server:/path/to/manifest.git

同步所有子仓库:

bash 复制代码
repo sync
4. 推送代码到服务器

若需将本地修改推送到中心仓库,需通过repo forall批量操作:

bash 复制代码
repo forall -pv -c "git push origin master"
相关推荐
STDD34 分钟前
Soulmask《灵魂面具》 专用服务器搭建教程
运维·服务器·github
lolo大魔王38 分钟前
Linux的监测程序
linux·运维·github
效能革命笔记3 小时前
Gitee DevSecOps 智能版本管理:军工软件工厂的依赖治理与供应链安全方案
网络·安全·gitee
我叫张小白。4 小时前
Git 分支管理与团队协作
git
米高梅狮子4 小时前
Redis
数据库·redis·mysql·缓存·docker·容器·github
_Evan_Yao5 小时前
如何搭建属于自己的技术博客(CSDN / GitHub Pages)
后端·学习·github
DogDaoDao5 小时前
Windows 下 Git 报错:`touch` 无法识别 —— 原因分析与 7 种解决方案(从入门到精通)
windows·git·程序员·npm·powershell·cmd·touch
Quirkybrain5 小时前
从多态调用到简单析构:C 语言里的对象生命周期管理
github
caicai_xiaobai5 小时前
Ubuntu上Git安装步骤
linux·git·ubuntu
加贝哥|usun6 小时前
最佳实践分享:GitHub项目自动同步到Gitee(码云)
gitee·github