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
相关推荐
- `repo help`:显示所有可用的repo命令。 - `repo init`:初始化一个新的工作目录,通常用于指定要克隆的manifest仓库。 - `repo sync`:同步所有子项目到最新的版本。 - `repo start`:创建一个新的分支。 - `repo...
6. **其他辅助命令**:Repo还提供了如`repo forall`这样的命令,可以对所有仓库执行相同的Git命令,提高了工作效率。 下载Repo通常推荐使用curl命令,但如果你无法通过curl获取,可以从提供的压缩包中提取。首先,...
7. Repo命令使用 Repo工具提供了一系列命令,用于管理代码库: - repo init 初始化仓库; - repo sync 同步代码; - repo start 创建并切换到新分支; - repo diff 查看本地修改; - repo status 检查仓库状态。 8....
这使得开发者可以使用简单的命令,如`repoinit`和`reposync`,来初始化项目和同步所有子项目的最新代码,而无需单独管理每个仓库。 #### 如何使用Git和Repo获取Android源代码 ##### 安装Git 在Ubuntu 8.04上安装...
5. **其他Repo命令**: Repo还提供了一些其他有用的功能,如`repo start`用于创建新的分支,`repo upload`用于提交更改到远程仓库,`repo forall`可以在所有仓库上执行相同命令,以及`repo diff`用于查看代码差异等。...
1. **安装Repo**:首先,需要将Repo脚本下载到本地,并将其添加到PATH环境变量中,这样就可以在命令行中直接使用repo命令。 2. **初始化项目**:在Android源码目录下,运行`repo init`命令,指定一个manifest仓库,...
1. 初始化:在新目录中运行`repo init`命令,指定一个manifest(仓库清单)URL,这将创建一个初始的 `.repo` 目录结构。 2. 同步:使用`repo sync`命令下载所有仓库的最新代码,或者更新已有的本地副本。 3. 查看...
可以使用 `repo branches` 或 `repo branch` 命令查看当前项目的所有本地分支。 2. **切换到特定分支**:要切换到某个分支,可以使用 `repo start <branch_name>` 命令。这不仅会将你切换到指定分支,还会创建一个...
repo命令是一个可执行的Python脚本,您可以将其放在路径中的任何位置。 在处理源文件时,您将使用Repo进行跨网络操作。 不知道现在能否可用。 https://github.com/esrlabs/git-repo ---------------------
当需要升级Repo到更高版本时,可以使用`repo selfupdate`命令,确保始终使用最新版以获得最佳功能和稳定性。 6. **注意事项**: - 在使用Repo时,需确保系统已安装Git,因为Repo是建立在Git基础之上。 - 对于...
- 首先,在公共服务器上创建一个目录,例如命名为`android4.0`,然后使用`repo init`命令并加上`--mirror`参数来初始化仓库,这会将服务器上的仓库作为一个镜像仓库。 - 使用`reposync`命令同步远程仓库的数据到本地...
`repo`是一个由Google开发的Python脚本,它封装了Git命令,专为Android源码管理设计。在Android开发环境中,`repo`用于管理和同步多个Git仓库,因为Android项目包含了大量的子项目,每个子项目都有自己的Git仓库。 ...
Git 和 Repo 的常用命令 Git 是一款开源的分布式版本控制系统,Repo 是一个基于 Git 的版本控制系统,用于 Android 的开源项目管理。本文将介绍 Git 和 Repo 的常用命令,帮助开发者更好地使用这两个工具。 查看...
Repo是建立在Git基础上的库(Repository)管理工具,根据需要来统一多个Git库,包括上传至版本管理系统,自动化Android开发流程。 ...Repo命令其实是可执行的Python脚本,可以放在任意路径下使用。
3. **同步源码**:使用`repo sync`命令,Repo会根据`manifest.xml`文件中的配置下载和更新所有相关Git仓库。 **服务器配置Git+Repo** 1. **安装Git**:首先,你需要在服务器上安装Git。这可以通过包管理器(如apt-...
4. **cmd**:包含了各种Repo命令的实现,如`init`、`sync`、`start`、`commit`等。 5. **common**:提供了通用的函数和类,供其他部分使用,例如处理Git命令的输出、日志记录等。 通过研究Repo的源码,开发者可以...
`repo`工具简介 `repo`是由Google开发的一个Python脚本,它封装了Git命令,方便开发者管理和同步多个Git仓库。Android源码分布于多个Git仓库中,`repo`作为统一入口,简化了操作流程。 ### 2. 安装`repo` 在开始...
- `repo forall`命令允许你在所有仓库中执行相同的Git命令,这对于批量操作非常有用。 4. **工作流与协作**: - `repo`支持多种工作流,比如分支管理、合并请求(Pull Request)等,使得团队协作更加顺畅。 - `...
- **简化操作**:`repo` 提供了`init`、`sync`、`start`、`commit`等命令,这些命令比直接使用Git更加直观和高效。 2. **如何使用 repo**: - **安装**:通常通过克隆`repo`的Git仓库到本地,然后添加到环境变量...