repo 是一个工具,用于管理 Git 仓库的集合,尤其在 Android 开发中被广泛使用。它是 Google 为 Android 项目开发的,以简化对大量 Git 仓库的管理。
主要特点
多仓库管理:repo 允许同时管理多个 Git 仓库,可以轻松执行跨多个仓库的操作。
同步操作:可以从远程服务器同步代码,并且支持断点续传。
分支管理:方便地管理和切换多个分支。
提交和审核:集成了 Gerrit 代码审核工具,通过 repo 可以方便地提交和审核代码。
安装
首先,你需要 Python 环境(2.7 或 3.6+)。然后可以通过以下步骤安装 repo:
下载 repo 命令脚本:
sh
Copy Code
mkdir -p ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
将 repo 添加到 PATH:
sh
Copy Code
export PATH=~/bin:$PATH
你可以把这行命令添加到你的 ~/.bashrc 或 ~/.zshrc 文件中以便每次登录时自动生效。
使用
初始化仓库
要初始化一个仓库集合,首先需要一个 manifest 文件,它定义了所有仓库及其各自的 URL 和分支。
创建工作目录:
sh
Copy Code
mkdir myproject
cd myproject
初始化 repo:
sh
Copy Code
repo init -u <URL to manifest repository> -b <branch>
比如,对于 Android 源码,可以这样做:
sh
Copy Code
repo init -u https://android.googlesource.com/platform/manifest -b master
同步代码
初始化之后,你需要同步代码:
sh
Copy Code
repo sync
这个命令会下载并同步所有定义在 manifest 文件中的 Git 仓库。
其他常用命令
查看仓库状态:
sh
Copy Code
repo status
提交更改:
sh
Copy Code
repo upload
查看当前分支:
sh
Copy Code
repo branch
切换分支:
sh
Copy Code
repo start newbranch --all
示例工作流程
初始化仓库:
sh
Copy Code
repo init -u https://example.com/manifest.git -b main
同步代码:
sh
Copy Code
repo sync
创建新分支:
sh
Copy Code
repo start myfeature --all
进行开发和提交:
sh
Copy Code
git add .
git commit -m "Add new feature"
上传提交供审核:
sh
Copy Code
repo upload
repo 工具极大地简化了对大型项目中多个 Git 仓库的管理,非常适合 Android 或其他类似项目的开发。