`
quanminchaoren
  • 浏览: 911630 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

repo 命令简介

阅读更多

repo的一些用法和理解

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

1.下载repo的地址: http://android.git.kernel.org/repo,可以用以下二者之一来下载
repo curl http://android.git.kernel.org/repo > ~/bin/repo
下载完成后须修改repo的权限:
chmod a+x ~/bin/repo

2.用repo sync在抓取android source code的时候,会经常出现一些错误导致repo sync中断,每次都要手动开始。
可以用如下的命令,来自动重复
$?=1;
while [ $? -ne 0 ] 
do
repo sync 
done

或者在.repo目录下的manifest.xml里找到fetch属性
改成
fetch= "git://Android.git.linaro.org/ "

再或者在.repo目录下的manifest.xml里找到review属性
改成
review="http://android-review.googlesource.com/"(即将https改成http)

获取帮助:
repo help [ command ] //显示command的详细的帮助信息内容
示例:repo help init 来获取repo init的其他用法

3.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文件,如果不具体指定,那么表示为默认的manifest文件(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命令

11. repo status 显示project中每个仓库的状态

12. repo forall -c

分享到:
评论

相关推荐

    git-repo.tar.gz

    repo命令是一个可执行的Python脚本,您可以将其放在路径中的任何位置。 在处理源文件时,您将使用Repo进行跨网络操作。 不知道现在能否可用。 https://github.com/esrlabs/git-repo ---------------------

    repo 1.21 最新版

    Repo是建立在Git基础上的库(Repository)管理工具,根据需要来统一多个Git库,包括上传至版本管理系统,自动化Android开发流程。 ...Repo命令其实是可执行的Python脚本,可以放在任意路径下使用。

    git & repo

    Git权威指南.pdf Git & Gerrit Manual_20130803 repo 命令详解

    Git和repo的常用命令.docx

    Git和repo的常用命令.docx

    epel-7.repo

    阿里云epel-7.repo资源包 EPEL (Extra Packages for Enterprise Linux,企业版Linux的额外软件包) 是Fedora小组维护的一个软件仓库项目,为RHEL/CentOS提供他们默认不提供的软件包。这个源兼容RHEL及像CentOS和...

    Linux阿里云镜像repo.zip

    Linux阿里云镜像repo, 以及配置命令

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

    从远端下载repo镜像,然后推送到本地gerrit服务器,里面讲解了相关步骤和命令操作。

    repo命令行工具,git-repo,可管理和克隆多个git库。

    repo,命令行工具,对Git部分命令封装,对多个Git库有效的进行组织。能够进行克隆和管理多个Git库。下载Android,yocto等必要工具。2020/8/10下载,比较新的,下载地址是 ...

    repo.tar.gz

    repo是一种代码版本管理工具,它是由一系列的Python脚本组成,封装了一系列的Git命令,用来统一管理多个Git仓库。repo工具下载.

    repo to git

    reop库转换成git库的代码,将文件解压到repo目录,通过repo togit命令新建/更新git

    CentOS7配置阿里云yum源的方法代码

    输入命令wget http://mirrors.aliyun.com/repo/Centos-7.repo 如果wget命令不生效,说明还没有安装wget工具,输入yum -y install wget 回车进行安装。 当前目录是/etc/yum.repos.d/,刚刚下载的Centos-7.repo也在这...

    Repo git的入门使用.doc

    Repo git的入门使用、常用的命令、提交代码的过程与原理,冲突的产生原因、原理及如何避免,巧妙的使用分支

    repo 指导说明

    Android 使用 Git 作为代码管理工具,开发了 Gerrit 进行代码审核以便更好的对代码进行集中式管理,还开发了 Repo 命令行工具,对 Git 部分命令封装,将百多个 Git 库有效的进行组织。

    (20200301)cat 《EOF | sudo tee /etc/yum.repos.d/influxdb.repo命令详解

    Linux tee命令用于读取标准输入的数据,并将其内容输出成文件。 tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。 tee [-ai][--help][--version][文件...] 参数:

    chmod命令使用详解

    chmod命令使用详解chmod命令使用详解chmod命令使用详解

    git-link:用于获取到 git 对象的 repo-browser 链接的 Git 子命令

    git-link Git-link是一个 git 子命令,用于获取指向 git 对象的 repo-browser 链接。 git-link背后的动机是,在命令行上导航到 git 对象或路径通常比通过 Web 界面单击路径更快。 使用git-link的 github 源的示例: ...

    repo-peek:快速在本地打开远程仓库

    安装repo-peek pip install repo-peek用法: 使用子命令gh或gl要求repo-peek( repk )签出github或gitlab repo。 命令用法: Usage: repk COMMAND < repo> ...Commands: gh open a github repo. gl open a gitlab ...

    k8s_helm_repo

    k8s_helm_repo 通过Flask在浏览器中运行Linux命令的Helm图表。 访问头盔图表应遵循的步骤:- 在您的PC中下载文件夹flask_linux_cmd。 在AWS上启动Kubernetes集群。 复制k8s_master_node中的flask_linux_cmd文件夹...

    learn-git-cherry-pick:一个展示如何使用基本的cherry-pick 命令的repo

    这个 repo 通过提供一个小任务来简单地让你实现这个 tut 的目标,涵盖了一个叫做的 git 命令。 git cherry-pick基本上使您能够在 HEAD 所指的当前位置下复制一系列提交。 基本的 git cherry-pick 命令 $ git ...

    CentOS-Base.repo.txt文件

    有关于rz命令下载失败所需要的文件,在我的文章经验集合里面有相关的介绍,欢迎大家浏览下载。

Global site tag (gtag.js) - Google Analytics