Repo是Google开发的用于管理Android版本库的一个工具,repo是使用Python对git进行了一定的封装,并不是用于取代git,它简化了对多个Git版本库的管理。用repo管理的版本库都需要使用git命令来进行 *** 作。
Repo 可以在必要时整合多个 Git 代码库,将相关内容上传到 Gerrit 修订版本控制系统,并自动执行 Android 开发工作流程的部分环节。
Repo 启动器会提供一个 Python 脚本,该脚本可以初始化检出,并可以下载第二部分,即完整的 Repo 工具。完整的 Repo 工具包含在 Android 源代码检出中。该工具默认位于 $SRCDIR/.repo/repo/… 中,它可以从下载的 Repo 启动器接收转发的命令。Repo 使用清单文件将 Git 项目汇总到 Android 超级项目中。
Repo命令server@dev: $ repo help usage: repo COMMAND [ARGS] The most commonly used repo commands are: abandon Permanently abandon a development branch branch View current topic branches branches View current topic branches checkout Checkout a branch for development cherry-pick Cherry-pick a change. diff Show changes between commit and working tree diffmanifests Manifest diff utility download Download and checkout a change gitc-delete Delete a GITC Client. gitc-init Initialize a GITC Client. grep Print lines matching a pattern info Get info on the manifest branch, current branch or unmerged branches init Initialize a repo client checkout in the current directory list List projects and their associated directories overview Display overview of unmerged project branches prune Prune (delete) already merged topics rebase Rebase local branches on upstream branch smartsync Update working tree to the latest known good revision stage Stage file(s) for commit start Start a new branch for development status Show the working tree status sync Update working tree to the latest revision upload Upload changes for code review See 'repo help' for more information on a specific command. See 'repo help --all' for a complete list of recognized commands. Bug reports: https://bugs.chromium.org/p/gerrit/issues/entry?template=Repo+tool+issue
# 初始化一个新客户端 repo init -u:指定从中检索清单代码库的网址。 -m:选择代码库中的清单文件。 -b:指定修订版本,即特定的 manifest-branch。 eg:repo init -u https://android.googlesource.com/platform/manifest # 将客户端同步到代码库 repo sync # 新建一个分支 repo start # 删除不用的本地分支 repo abandon # 删除已经合并分支 repo prune # 切换分支 repo checkout # 显示当前分支的状态 repo status # 查看修改 repo diff # 将更改上传到审核服务器 repo upload # 显示manifest文件内容 repo manifest
repo init在当前目录中安装 Repo,这会创建一个 .repo/ 目录,其中包含用于 Repo 源代码和标准 Android 清单文件的 Git 代码库。该 .repo/ 目录中还包含 manifest.xml,这是一个指向 .repo/manifests/ 目录中所选清单的符号链接。有关更新清单的说明,请参阅 manifest-format.md。
清单文件是以xml的格式组织的,一个清单库可以包含多个清单文件和多个分支,每个清单文件和分支都有对应的版本。
- remote元素:定义了名为korg的远程版本库,库的基址为git://172.16.1.31
- project元素:用于定义一个项目,path属性表示在工作区clone的位置,name属性表示该项目的远程版本库的相对路径。
- default元素:设置各个项目默认远程版本库为Korg,默认的分支为gingerbread-exdroid-stable。各个项目还可以定义自己的remote和revision覆盖默认的配置。
- project元素下的子元素copyfile:定义了项目clone后的一个附件动作,从src拷贝文件到dest
.repo目录下有manifest、project、repo文件夹等信息
- manifest:看某个模块当前是在哪个分支
- project:
- repo:查看Python封装的脚本
https://source.android.google.cn/setup/develop/repo?hl=zh-cn
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)