AOSP Repo 命令参考资料

Repo简介

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

你可能感兴趣的:(技术流Clip,android,repo,git)