`

Repo用法【转】

阅读更多

repo的用法

注:repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载、管理Android项目的软件仓库。(也就是说,他是用来管理给git管理的一个个仓库的)

下载 repo 的地址: http://android.git.kernel.org/repo ,可以用以下二者之一来下载 repo

wget http://android.git.kernel.org/repo 

或者 

curl http://android.git.kernel.org/repo > ~/bin/repo  

下载完成后须修改repo的权限: chmod a+x ~/bin/repo 

用repo sync 在抓去 android source code 的时候,会经常出现一些错误导致 repo sync 中断,每次都要手动开始。 可以用如下的命令,来自动重复

$?=1; 

while [ $? -ne 0 ] ; 

do  repo sync ; 

done

获取帮助:

repo help [ command ]   //显示command 的详细的帮助信息内容

示例: repo help init 来获取 repo init 的其他用法

repo init -u URL 用以在当前目录安装 repository ,会在当前目录创建一个目录 ".repo"  -u 参数指定一个URL, 从这个URL 中取得repository 的 manifest 文件。   

示例:repo init -u git://android.git.kernel.org/platform/manifest.git

获取的manifest文件放在.repo目录中。命名为manifest.xml。这个文件的内容其实就是所有被git管理的仓库的列表!

可以用 -m 参数来选择获取 repository 中的某一个特定的 manifest 文件,如果不具体指定,那么表示为默认的 namifest 文件 (default.xml)

repo init -u git://android.git.kernel.org/platform/manifest.git -m dalvik-plus.xml

(有诸多供我们选择的manifest文件,所有的manifest文件都放在目录.repo/manifests中,该目录本身亦被git所管理,你可以cd进去看看)

可以用 -b 参数来指定某个manifest 分支。

repo init -u git://android.git.kernel.org/platform/manifest.git -b release-1.0

你会发现.repo/manifests是个被git管理的仓库,这里放的是所有的manifest文件(*.xml),因为被git管理,固然有分支,-b可以切换到你想要的分支然后再下载相关的xml文件,当然具体下载那个xml还要看-m参数了,所以如果你仅仅指定-b而没有-m的话,就是下载-b指定分支下的default.xml文件

如果不指定-b参数,那么会默认使用master分支

4. repo sync [project-list]

下载最新本地工作文件,更新成功,这本地文件和repository 中的代码是一样的。 可以指定需要更新的project , 如果不指定任何参数,会同步整个所有的项目。

如果是第一次运行 repo sync , 则这个命令相当于 git clone ,会把 repository 中的所有内容都拷贝到本地。 如果不是第一次运行 repo sync , 则相当于 git remote update ;  git rebase origin/branch .  repo sync 会更新 .repo 下面的文件。 如果在merge 的过程中出现冲突, 这需要手动运行  git  rebase --continue

5. repo update[ project-list ]

上传修改的代码 ,如果你本地的代码有所修改,那么在运行 repo sync 的时候,会提示你上传修改的代码,所有修改的代码分支会上传到 Gerrit (基于web 的代码review 系统), Gerrit 受到上传的代码,会转换为一个个变更,从而可以让人们来review 修改的代码。

6. repo diff [ project-list ]

        显示提交的代码和当前工作目录代码之间的差异。

7. repo download  target revision

        下载特定的修改版本到本地, 例如:  repo download pltform/frameworks/base 1241 下载修改版本为 1241 的代码

8. repo start newbranchname .

        创建新的branch分支。 "." 代表当前工作的branch 分支。

9.  repo prune [project list]

        删除已经merge 的 project

10. repo foreach [ project-lists] -c command

       对每一个 project 运行 command 命令

12. repo forall -c 

11. repo status

       显示 project 中每个仓库的状态,并打印仓库名称。

分享到:
评论

相关推荐

    关于repo的使用

    虽然在文档中没有详细说明Gerrit的使用方法,但我们可以推断出,考虑到文档中提到的使用场景,Gerrit很可能是用来管理代码审查流程的。 在使用Gerrit时,可能涉及到的步骤包括: - 将代码提交到Gerrit进行审查。 -...

    mac下的repo

    在Mac操作系统上使用`repo`工具有其独特的步骤和注意事项,因为`repo`是由Google开发的一个用于Android项目源代码管理的工具,它基于Git。本文将深入探讨如何在Mac环境下安装和使用`repo`,以及它与Git的关系和基本...

    repo repo - 下载管理源代码

    下面将详细介绍Repo及其工作原理、使用方法以及如何下载和设置。 Repo不是替代Git的工具,而是Git的一个封装,它提供了一个命令行接口,使得在处理多个相互依赖的Git仓库时更加方便。在Android项目中,由于其组件化...

    repo 的用法

    在深入探讨`repo`的用法之前,我们首先应当明确`repo`是什么以及它在Linux环境中的重要性。`repo`是一个由Google开发的自动化脚本,用于管理大型分布式版本控制系统(如Android源代码)中的多个Git仓库。它提供了一...

    repo相关.zip

    在本文中,我们将深入探讨Repo的工作原理、配置以及在服务器上设置Git+Repo的方法。 **Repo的基本概念** 1. **Repo的本质**:Repo是一个命令行接口,它封装了Git的复杂操作,使得开发者可以更方便地管理和同步分布...

    repo(官方提供)

    而`readme.txt`通常包含有关如何安装和使用Repo的说明,可能包括初始化设置、基本命令用法以及一些注意事项。 对于Android开发者而言,掌握Repo的使用至关重要,因为它能够帮助他们有效地管理项目代码,跟踪更改,...

    repo二进制文件及源码

    Repo,全称为Repository Manager,是Android开发中广泛使用的一个命令行工具,它建立在Git之上,为项目管理和协作提供了一层额外的封装。Repo并非Git的一部分,而是由Google开发的,目的是简化Android源代码的获取、...

    Anreoid repo 切换分支

    然而,许多旧项目仍然可能使用`HttpClient`,了解其使用方法和常见操作也是Android开发者的必备知识。 总的来说,Android `repo` 工具的使用,特别是分支管理,对于高效地进行Android源码开发至关重要。同时,理解...

    repo资源下载

    由于网络连接问题可能导致常规下载方法失败,所以描述中提到的“当连接无法下载时,可以试试手动放置安装”是指如果通过常规方式(如curl或者wget)下载`repo`脚本遇到困难,用户可以选择将资源手动下载到本地,然后...

    从远端下载repo镜像,然后推送到本地gerrit服务器

    此命令使用`repo forall`遍历所有项目,并将每个项目中的所有分支推送到Gerrit服务器上的对应仓库。`+refs/heads/*`表示推送所有本地分支。 2. **推送所有tags到Gerrit服务器**: ```bash $ repo forall -c 'git...

    repo-20161104.rar

    接着,他们可以使用repo的命令如"repo sync"来更新源码,"repo start"和"repo commit"来创建和提交变更,"repo manifest"来查看当前项目的状态,等等。对于i.MX6UL的开发者来说,他们还需要了解如何在Yocto项目中...

    Android源码下载repo文件

    **repo的高级用法** - 工作分支管理:`repo start`允许你创建一个新的工作分支,方便你在不影响主分支的情况下进行开发。 - 快速切换分支:使用`repo switch`可以在不同的分支之间快速切换。 - 选择性同步:通过`...

    前端项目-repo.js.zip

    2. **配置选项**:`repo()` 方法接受一个配置对象,可以设置`user`(GitHub用户名)和`repo`(仓库名)属性。此外,可能还有其他可选参数,如自定义样式、显示信息的类型等,具体取决于插件的实现。 3. **定制样式*...

    repo 指导说明

    通常的下载方法是通过git clone命令获取Repo源代码,然后在本地目录下,如android 2.3.4下,会生成包含Repo脚本的目录,使用这个脚本来执行Repo指令。对于在特定服务器上开发的用户,例如在***.**.*.*服务器上开发的...

    Git和Repo扫盲.pdf

    通过本文对 Git 和 Repo 的基础介绍及其在 Android 源代码管理中的实际应用,希望能帮助读者更好地理解这两种工具的使用方法和优势所在。在未来的工作实践中,灵活运用 Git 和 Repo 将能显著提升工作效率和代码质量...

    github_repo_matlab_

    标题 "github_repo_matlab_" 暗示这是一个与 MATLAB 相关的 GitHub 仓库,可能包含了一些 MATLAB 代码或工具。描述中的 "thank you tahnk you sorry very much" 是一种表达感谢的方式,可能意味着作者对贡献者或者...

    PyPI 官网下载 | reposync-0.1.2.tar.gz

    对于`reposync`库的具体功能和使用方法,通常会在`README`文件或库的官方文档中有详细说明。这可能包括库的依赖项、接口介绍、示例代码和常见问题解答等。在实际使用前,建议详细阅读这些文档以确保正确有效地利用这...

    Python库 | repo_config-2019.2.26-py2.py3-none-any.whl

    然而,具体的功能和使用方法需要参考库的官方文档或源代码来了解。 总结来说,`repo_config`是一个跨平台的Python库,适用于Python 2和3,专为后端开发设计,尤其是处理配置相关的任务。通过`.whl`格式提供,安装...

    repo_tool.zip

    总的来说,这个压缩包提供了一种简化流程的方法,帮助开发者绕过“Can't check signature: No public key”的问题,顺利下载和使用高通的开源Android代码。对于那些在Android开发或者研究高通硬件平台的人员来说,这...

Global site tag (gtag.js) - Google Analytics