`
quanminchaoren
  • 浏览: 922764 次
  • 性别: 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

分享到:
评论

相关推荐

    mac下的repo

    - `repo help`:显示所有可用的repo命令。 - `repo init`:初始化一个新的工作目录,通常用于指定要克隆的manifest仓库。 - `repo sync`:同步所有子项目到最新的版本。 - `repo start`:创建一个新的分支。 - `repo...

    repo repo - 下载管理源代码

    6. **其他辅助命令**:Repo还提供了如`repo forall`这样的命令,可以对所有仓库执行相同的Git命令,提高了工作效率。 下载Repo通常推荐使用curl命令,但如果你无法通过curl获取,可以从提供的压缩包中提取。首先,...

    REPO镜像服务器搭建和管理

    7. Repo命令使用 Repo工具提供了一系列命令,用于管理代码库: - repo init 初始化仓库; - repo sync 同步代码; - repo start 创建并切换到新分支; - repo diff 查看本地修改; - repo status 检查仓库状态。 8....

    Git_和repo扫盲

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

    Android版本管理工具repo

    5. **其他Repo命令**: Repo还提供了一些其他有用的功能,如`repo start`用于创建新的分支,`repo upload`用于提交更改到远程仓库,`repo forall`可以在所有仓库上执行相同命令,以及`repo diff`用于查看代码差异等。...

    repo 7.1.2 新版本

    1. **安装Repo**:首先,需要将Repo脚本下载到本地,并将其添加到PATH环境变量中,这样就可以在命令行中直接使用repo命令。 2. **初始化项目**:在Android源码目录下,运行`repo init`命令,指定一个manifest仓库,...

    repo下载源码工具

    1. 初始化:在新目录中运行`repo init`命令,指定一个manifest(仓库清单)URL,这将创建一个初始的 `.repo` 目录结构。 2. 同步:使用`repo sync`命令下载所有仓库的最新代码,或者更新已有的本地副本。 3. 查看...

    Anreoid repo 切换分支

    可以使用 `repo branches` 或 `repo branch` 命令查看当前项目的所有本地分支。 2. **切换到特定分支**:要切换到某个分支,可以使用 `repo start <branch_name>` 命令。这不仅会将你切换到指定分支,还会创建一个...

    git-repo.tar.gz

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

    repo 可执行文件

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

    关于repo的使用

    - 首先,在公共服务器上创建一个目录,例如命名为`android4.0`,然后使用`repo init`命令并加上`--mirror`参数来初始化仓库,这会将服务器上的仓库作为一个镜像仓库。 - 使用`reposync`命令同步远程仓库的数据到本地...

    repo-download-jimmy.zip

    `repo`是一个由Google开发的Python脚本,它封装了Git命令,专为Android源码管理设计。在Android开发环境中,`repo`用于管理和同步多个Git仓库,因为Android项目包含了大量的子项目,每个子项目都有自己的Git仓库。 ...

    Git和repo的常用命令.docx

    Git 和 Repo 的常用命令 Git 是一款开源的分布式版本控制系统,Repo 是一个基于 Git 的版本控制系统,用于 Android 的开源项目管理。本文将介绍 Git 和 Repo 的常用命令,帮助开发者更好地使用这两个工具。 查看...

    repo 1.21 最新版

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

    repo相关.zip

    3. **同步源码**:使用`repo sync`命令,Repo会根据`manifest.xml`文件中的配置下载和更新所有相关Git仓库。 **服务器配置Git+Repo** 1. **安装Git**:首先,你需要在服务器上安装Git。这可以通过包管理器(如apt-...

    repo二进制文件及源码

    4. **cmd**:包含了各种Repo命令的实现,如`init`、`sync`、`start`、`commit`等。 5. **common**:提供了通用的函数和类,供其他部分使用,例如处理Git命令的输出、日志记录等。 通过研究Repo的源码,开发者可以...

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

    `repo`工具简介 `repo`是由Google开发的一个Python脚本,它封装了Git命令,方便开发者管理和同步多个Git仓库。Android源码分布于多个Git仓库中,`repo`作为统一入口,简化了操作流程。 ### 2. 安装`repo` 在开始...

    repo.tar.gz

    - `repo forall`命令允许你在所有仓库中执行相同的Git命令,这对于批量操作非常有用。 4. **工作流与协作**: - `repo`支持多种工作流,比如分支管理、合并请求(Pull Request)等,使得团队协作更加顺畅。 - `...

    嵌入式开发常用工具 repo

    - **简化操作**:`repo` 提供了`init`、`sync`、`start`、`commit`等命令,这些命令比直接使用Git更加直观和高效。 2. **如何使用 repo**: - **安装**:通常通过克隆`repo`的Git仓库到本地,然后添加到环境变量...

Global site tag (gtag.js) - Google Analytics