`
willsunforjava
  • 浏览: 167864 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

repo的使用

 
阅读更多

repo是什么?


repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载、管理Android项目的软件仓库。(也就是说,他是用来管理给git管理的一个个仓库的)
下载 repo 的地址: http://android.git.kernel.org/repo ,可以用以下二者之一来下载 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 命令
11. repo status

显示 project 中每个仓库的状态

12. repo forall -c

 

参考:http://wenku.baidu.com/view/34580eb8fd0a79563c1e729a.html

分享到:
评论

相关推荐

    关于repo的使用

    ### 关于repo的使用 ...以上知识点涵盖了repo使用的基本流程,从搭建公共代码库到进行日常的代码开发和审查,以及与Gerrit的集成。在实际使用中,需要根据项目的具体需求和约定进行配置和操作调整。

    repo相关.zip

    3. **manifest文件**:Repo使用一个名为`manifest.xml`的文件来定义项目结构,列出所有需要的Git仓库及其分支信息,方便统一管理。 **Repo的安装与配置** 1. **安装**:Repo是一个Python脚本,通常需要通过Android...

    git-repo-stable.zip

    4. **Manifest文件**:Repo使用一个名为“manifest”的XML文件,该文件定义了项目中包含的所有仓库及其版本。你可以根据需要修改manifest,以选择特定的分支或修改仓库的配置。 5. **自定义Manifest**:对于Windows...

    谷歌repo源码

    在Android开发过程中,由于项目涉及到大量的子模块,每个子模块都有各自的Git仓库,因此使用repo可以有效地整合和协调这些仓库的操作。 Repo的主要功能包括初始化、同步、提交、推送等,通过一个统一的命令行接口,...

    repo 的用法

    在开始使用`repo`前,通常需要通过`repo init`命令初始化工作环境,此步骤会下载`repo`脚本并设置其URL和manifest。若在初始化过程中忘记设定用户名和邮箱,可通过以下命令进行修改: ```bash git config --global ...

    mac下的repo

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

    nix-repo-源码.rar

    - **构建与评估**:nix-repo使用Nix工具链对表达式进行解析和评估,生成一个独立于具体系统的软件包。 - **依赖管理**:nix-repo处理包之间的依赖关系,确保所有必要的依赖都能正确安装,并且在不同环境中保持一致...

    Repo git的入门使用.doc

    本文将深入探讨Repo Git的入门使用,常用命令,以及如何处理代码冲突。 1. **Repo Git入门**: 使用`repo init`命令初始化Repo,这会下载项目的配置文件。例如: ``` repo init -u ssh://git@192.168.6.192:/...

    Git和Repo的使用

    ### Git与Repo的使用详解 #### 一、Git简介 Git是一种分布式的版本控制系统,由Linux Torvalds在2005年为了更好地管理Linux内核的开发而创建。它被设计用来处理从非常小到非常大的项目版本管理,特别适用于追踪非...

    Centos-5.repo

    Centos-5.repo,适用centos 5开头版本的系统的repo使用。

    repo repo - 下载管理源代码

    在Android开发中,Repo被广泛使用,因为它能够方便地对多个Git仓库进行统一的管理和同步。下面将详细介绍Repo及其工作原理、使用方法以及如何下载和设置。 Repo不是替代Git的工具,而是Git的一个封装,它提供了一个...

    Git_和repo扫盲

    这使得开发者可以使用简单的命令,如`repoinit`和`reposync`,来初始化项目和同步所有子项目的最新代码,而无需单独管理每个仓库。 #### 如何使用Git和Repo获取Android源代码 ##### 安装Git 在Ubuntu 8.04上安装...

    REPO镜像服务器搭建和管理

    - 在使用Repo时,可以运用一些小技巧来提高效率,例如,查看Repo工程相对远程仓库的差异日志。 9. 服务器管理建议 为了保证镜像服务器的稳定运行和高效性能,建议定期维护和更新,监控系统资源使用情况,定期备份...

    多git版本管理-repo

    • 从高通或google下载代码是通过repo下载的,是由repo管理的266个git组成的 • l现在使用的git库是将由repo管理266个小git合并成一个git库导入 • 目前导入的repo是将项目定制化的内容取出,拆成由repo管理45个小...

    Android版本管理工具repo

    3. **初始化项目**: 使用`repo init`命令,你可以指定manifest仓库和工作目录的基础版本。例如,`repo init -u manifest -b branch_name`会初始化项目并指向特定的branch_name。这里的`manifest`是manifest仓库的URL...

    repo 可执行文件

    当需要升级Repo到更高版本时,可以使用`repo selfupdate`命令,确保始终使用最新版以获得最佳功能和稳定性。 6. **注意事项**: - 在使用Repo时,需确保系统已安装Git,因为Repo是建立在Git基础之上。 - 对于...

    repo下载源码工具

    描述中提到的“官网提供的,下载下来提供给大家”表明`repo`工具可以在官方网站上找到,并且可供开发者下载使用。通常,获取`repo`工具的步骤包括访问其官方网站或者通过Android源码树的初始化脚本来下载。一旦下载...

    git+repo+gerrit代码服务器搭建

    本文将指导读者从头开始搭建一个完整的代码评审服务器,使用 Git、Repo 和 Gerrit 等工具。本篇文章将详细介绍每个步骤的配置过程,旨在帮助读者快速搭建一个功能完善的代码服务器。 代码服务器搭建步骤 名词解释 ...

    android源码下载需要使用的repo脚本

    使用`repo`初始化Android源码仓库,你需要创建一个新的目录,并在其中运行`repo init`命令: ``` mkdir android-src cd android-src repo init -u https://android.googlesource.com/platform/manifest ``` 这里,...

Global site tag (gtag.js) - Google Analytics