笔记-使用Repo工具管理多个关联仓库(适用于复杂项目)
-
-
- Repo工具通过一个manifest文件统一管理多个Git仓库,常用于Android等大型项目。
-
- [1. 安装Repo工具](#1. 安装Repo工具)
- [2. 创建Manifest仓库](#2. 创建Manifest仓库)
- [3. 客户端初始化](#3. 客户端初始化)
- [4. 推送代码到服务器](#4. 推送代码到服务器)
-
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"