Repo常用指令
Repo常用指令
在使用 Git 进行版本控制时,repo 是一个由 Google 提供的工具,主要用于管理多个 Git 仓库(特别是在 Android 开发中)。它是对 Git 的封装,简化了多仓库项目的管理。
下面是一些常用的 repo 命令及其用途:
🌐 初始化和同步
repo init
初始化一个新的 repo 客户端。通常会指定一个 manifest 仓库地址。
1 | repo init -u <manifest仓库URL> [-b <分支名>] [-m <manifest文件名>] |
示例:
1 | repo init -u https://android.googlesource.com/platform/manifest -b main -m default.xml |
repo sync
从远程仓库下载代码并同步到本地。
1 | repo sync |
常用选项:
repo sync -c:只同步当前分支。repo sync -j4:使用 4 个线程并行同步,加快速度。repo sync --no-tags:不下载标签,节省带宽。
📁 项目操作
repo start <新分支名> --all | <项目名>
为所有项目或某个项目创建一个新的分支。
1 | repo start dev-feature --all |
repo checkout <分支名>
切换分支。
1 | repo checkout main |
repo branches
显示所有项目当前所在的分支。
repo status
查看所有项目的修改状态(类似 git status)。
1 | repo status |
🚀 提交与上传
repo diff
查看工作目录中的更改(类似 git diff)。
repo stage
将更改添加到暂存区(类似 git add)。
1 | repo stage -i device/rockchip/rk3576 |
repo commit
提交更改(类似 git commit)。
repo upload
将本地提交上传到 Gerrit 或其他代码审查系统。
1 | repo upload |
📦 其他实用命令
repo list
列出所有项目的名称。
repo path <project-name>
显示某个项目的本地路径。
repo forall
对所有项目或某些项目执行 shell 命令。
示例:查看所有项目的当前分支
1 | repo forall -c 'git rev-parse --abbrev-ref HEAD' |
🧪 高级命令(慎用)
repo rebase
对项目进行 rebase 操作。
1 | repo rebase |
repo prune
删除已经合并的分支。
repo selfupdate
更新 repo 工具本身。
📝 小贴士
repo命令必须在一个已经repo init初始化过的目录中运行。- 所有 repo 的配置信息保存在
.repo/目录下。 - 可以通过
repo help查看完整帮助文档。
如果你是在使用 Android 源码 或其他基于 AOSP 的项目,这些命令非常有用。如果你是普通 Git 用户,可能更常使用的是原生的 git 命令。
需要我提供某个命令的详细说明或使用场景吗?
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Fleming's Blog!






