Repo 是以 Git 为基础构建的代码库管理工具。Repo 可以在必要时整合多个 Git 代码库,将相关内容上传到版本控制系统。借助单个 Repo 命令,可以将文件从多个代码库下载到本地工作目录。
Repo 命令是一段可执行的 Python 脚本,你可以将其放在路径中的任何位置。
查看repo命令帮助
repo help <COMMAND>
例如:repo help init repo help sync
常用命令
repo init 在当前目录安装repo
repo sync [] 同步项目列表的仓库
repo forall [<PROJECT_LIST>] -c <COMMAND> 为每个项目执行指定的shell命令
repo upload [<PROJECT_LIST>] 对指定项目与最近一次sync比较上传
repo prune [<PROJECT_LIST>] 删除合并的项目
repo start <BRANCH_NAME> [<PROJECT_LIST>] 从指定版本创建新的分支开发
使用示例
repo sync -cd -j14
-c
:只同步当前 manifest 文件中指定的分支(-c
是--current-branch
的缩写)。
-d
:将每个 Git 仓库切换到 manifest 文件中指定的提交(-d
是--detach
的缩写)。
-j14
:使用 14 个线程并行执行同步操作(-j
是--jobs
的缩写,用于加速同步)repo init -u ssh://manifest-features -b dev -m config.xml
-u ssh://manifest-features
:指定 manifest 仓库的 URL(通常是一个 Git 仓库地址)。
-b dev
:指定 manifest 仓库的分支为dev
。
-m config.xml
:指定 manifest 文件为config.xml
(manifest 文件定义了需要同步的 Git 仓库列表及其分支)。repo forall -c 'git clean -xdf'
-c 'git clean -xdf'
:在每个 Git 仓库中执行git clean -xdf
命令。
git clean -xdf
的作用是删除所有未跟踪的文件和目录(包括.gitignore
忽略的文件)。
-x
:删除所有未跟踪的文件,包括.gitignore
中忽略的文件。
-d
:删除未跟踪的目录。
-f
:强制删除(git clean
默认需要强制选项)。
参考
Repo与Git协同工作指南-CSDN博客