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中断,每次都要手动开始。
可以用如下的命令,来自动重复
$?=;
while [ $? -ne ]
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仓库,并在每个仓库执行-c所指定的命令
示例:
repo init -u ssh://217.106.79.36:29418/feng/main.git
repo sync
repo forall -c "git reset --hard feng-201708212"
repo的一些用法的更多相关文章
- repo forall -c 用法【转】
本文转载自:https://blog.csdn.net/u010164190/article/details/78332484 .repo forall命令 # repo forall -help # ...
- 1. Retrofit2 -- Getting Started and Create an Android Client
1. Retrofit2 -- Getting Started and Create an Android Client Retrofit tutorial 什么是 Retrofit 如何申明请求 准 ...
- 【Git】生成Patch和使用Patch
1.生成Patch(俗称快照) 先来看看repo manifest 的用法 <1>cd /工作目录/项目目录/.repo/manifests <2>repo manifest ...
- ubuntu1804 安装Nvidia驱动-nvidia-docker
操作 看显卡 lspci | grep N 01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2) 0 ...
- Python 包管理工具 pip 与 conda
简介 pip是接触 python 后最早认识的包管理工具.通过使用 pip 能够自动下载和解决不同 python 模块的依赖问题,使 python 的配置过程变得简单. 与 pip 类似,conda ...
- repo的用法
转自:http://blog.csdn.net/junglyfine/article/details/6299636 注:repo只是google用Python脚本写的调用Git的一个脚本,主要是用来 ...
- repo 用法
repo的用法(zz) 注:repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载.管理Android项目的软件仓库.(也就是说,他是用来管理给git管理的一个个仓库的) ...
- repo 和git的用法
1. 服务器版本下载: repo init -u git@192.168.1.11:i700t_60501010/platform/manifest.git-b froyo_almond -m M76 ...
- Git与Repo入门
版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作... 一.原始版本控制 最原始的版本控制是纯手工的版本控制:修改文 ...
随机推荐
- Unity物体上下反复漂浮效果
using UnityEngine;using System.Collections;// 主界面的开始按钮使用该脚本,控制上下来回浮动public class Floating : MonoBeha ...
- ECMAScript6入门-序言
本系列笔记基于阮一峰大佬的开源书籍.如果大家想看可以去该地址 本系列笔记只记录本人自己学习的过程,如果有侵权收到通知会自行下架. 如果大家看到可以直接去地址处学习,如果觉得好还望支持正版. 在此感谢阮 ...
- django1.7+nginx1.4.4的static配置
静态文件指像css,js,images之类的文件. 1.工程配置setting.py STATIC_URL = /static/ STATIC_ROOT = /home/www/winingcpi/s ...
- 深入理解java虚拟机 精华总结(面试)(转)
一.运行时数据区域 3 1.1 程序计数器 3 1.2 Java虚拟机栈 3 1.3 本地方法栈 3 1.4 Java堆 3 1.5 方法区 3 1.6 运行时常量池 4 二. hotspot虚拟机对 ...
- C++模板的一些巧妙功能
判断类中是否有指定名称的函数: #include<utility> #define HAS_MEMBER(member)\ template<typename T,typename. ...
- java--构造器与static
原本无显示编码构造器,则有一个默认的隐式(隐藏的无参构造器),但是,当显示指定了构造器,则这个默认隐式的构造器将不存在,比如此时无法new无参的构造器(除非显示地编写声明无参的构造函数). 如果子类构 ...
- Git学习笔记(一)Git初识及基本操作
详细完整教程:官方文档,廖神Git教程,武sir 一.什么是Git? 定义:Git是分布式版本控制系统. 1.1什么是版本控制 我们可以回想以下,在我们上学毕业要写论文或是准备一份演讲稿的时候,都会用 ...
- mysql添加用户
增加新用户: 格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码" 例1.增加一个用户test1密码为abc,让他可以在任 ...
- python读取配置文件 ConfigParser
Python 标准库的 ConfigParser 模块提供一套 API 来读取和操作配置文件. 配置文件的格式 a) 配置文件中包含一个或多个 section, 每个 section 有自己的 opt ...
- Solaris10怎么创建flash archive
使用flarcreate命令可以创建Solaris操作系统的映像(flash archive).Flash archive相当于Solaris系统的克隆.使用flash archive可以用于安装新系 ...