Repo¶
https://source.android.com/source/using-repo?hl=zh-cn
1 常用命令¶
repo
是由 Google 开发的多仓库管理工具,主要用于像 Android 这样由多个 Git 仓库组成的大型项目。以下是 repo
常用的一些命令:
- 初始化 repo 环境:
repo init -u [manifest-url] [-b branch]
这个命令从指定的 manifest URL 下载并解析清单文件(manifest),初始化 repo 工作目录,并可选地设置要检出的分支。
- 同步所有仓库:
repo sync [-j jobs] [--current-branch | --no-tags] [project...]
同步所有或者指定的 project 到最新的版本。默认会更新所有已检出的仓库到它们在清单中指定的状态。-j
参数可以用来指定并发下载和合并的线程数。
- 查看当前工作区状态:
repo status
显示所有子仓库的工作区状态,类似于 Git 的 git status
。
- 清理工作区和索引:
repo forall -c 'git clean -fd'
repo forall -c 'git reset --hard HEAD'
分别用于清理所有仓库的工作区未跟踪文件和重置所有仓库至 HEAD 提交的状态。
- 显示所有仓库信息:
repo list
列出所有通过 repo 管理的仓库及其路径。
- 获取特定项目的仓库状态:
repo status [project-name]
- 查看或修改 manifest 文件:
repo manifest [-o|-r|-e|-p|-m|-l] [manifest-file]
可以查看、输出、编辑、打印元数据等操作与项目清单相关的任务。
- 克隆单个项目:
repo start [new_branch_name] [project-name]
在指定项目上启动新的本地分支。
-
执行自定义命令:执行 git 命令,比如批量 add/commit
repo forall [-c|--exec] command
在所有项目下执行给定的命令。 10. 切换分支或创建分支:
repo forall -c 'git checkout [branch]'
在所有仓库中执行命令,此处是切换或创建名为 [branch]
的分支。
2 help¶
显示 repo 命令帮助文档
repo help <command>
3 init¶
$ repo init -u <URL> [<OPTIONS>]
在当前目录中安装 Repo。这会创建一个 .repo/
目录,其中包含用于 Repo 源代码和标准 Android 清单文件的 Git 代码库。该 .repo/
目录中还包含 manifest.xml
,这是一个指向 .repo/manifests/
目录中所选清单的符号链接。
选项:
- -u
:指定要从中检索清单代码库的网址。您可以在 https://android.googlesource.com/platform/manifest
中找到常见清单
- -m
:在代码库中选择清单文件。如果未选择任何清单名称,则会默认选择 default.xml。
- -b
:指定修订版本,即特定的清单分支。
注意:对于其余的所有 Repo 命令,当前工作目录必须是 .repo/
的父目录或相应父目录的子目录。