repo安装与简单使用

Posted 玄道公子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了repo安装与简单使用相关的知识,希望对你有一定的参考价值。

一、概述

​ 当一个大的项目需要拆分成很多的子项目,或者说一个软件系统拆分成多个子系统。 每一个子项目或者子系统都对应一个git repository。这种需求在实际项目当中是很常见的,有的可能就直接写一个shell脚本来实现同时拉各个代码仓库的动作,但这样做难免笨拙。 特别是要做系统级别的整体分支或版本发布时,就不太方便,因此这里就可以使用repo来进行管理,像android这么大的项目也都是通过repo来进行管理的。

二、安装

这里以Ubuntu为例来说明。

  • 第一步: 创建repo安装目录
mkdir ~/bin
或者,可以创建一个隐藏文件夹,这样避免被误操作删除, 在正常使用ls命令的时候,
也不会在home目录下看到这个文件件(对应的后续步骤中的~/bin 修改为~/.bin)

mkdir ~/.bin

  • 第二步:下载repo
wget https://storage.googleapis.com/git-repo-downloads/repo -P ~/bin/
或者
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

  • 第三步: 改变执行权限并设置环境变量(就好比“安装”)
chmod a+x ~/bin/repo
export PATH=~/bin:$PATH

最后设置环境变量这一句,最好是添加到  ~/.bashrc 文件中的最末尾位置,
这样就可以自动设置好repo的环境变量。

当你执行完以上三个步骤之后,如果能访问Google的网站的话,就可以正常使用repo了。但咱们这边如果不翻墙的话,显然是没法访问的,在使用repo init的时候,就会出现如下的错误:

Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle

因此这里还需要第四步:

  • 第四步: 设置REPO_URL环境变量
如第三步一样,在~/.bashrc 文件的最末尾添加如下内容:
export REPO_URL=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/

这里使用的是清华大学的镜像源

经过这四步就可以正常的使用repo了。

三、简单使用

一般来说repo比较常用的命令有如下几个:

  • repo init
 repo init -u <URL> [<OPTIONS>]
 
 -u  指定repo仓库(即manifest仓库)的url地址, 后面[<OPTIONS>]就是可选的命令参数:
 
Manifest options:
-m :在manifest仓库中选择一个xml文件,如果没有设置,就使用default.xml

-b:选择一个maniest仓库中的一个特殊的分支

repo Version options:(一般来说几乎不会使用这下面的这些选项)
--repo-url:设定repo的版本库地址。

--repo-branch:设定需要检出的分支。

--no-repo-verify:设定不要对repo的里程碑签名进行严格的验证。

--mirror:只在repo第一次初始化的时候使用,建立本地镜像
 
 
  • repo sync
repo sync
默认同步xml文件中定义的所有仓库,也可以单独指定sync哪个或哪些仓库,如下: 
repo sync name1  name2 name3  ... 

除此之外还有如下选项:
-j : 多任务,一般8核心可以开到16任务,过多会起反作用
-c: 只下载当前分支代码
-d: 让工程回退到manifest指定的版本
-f: 如果某个工程同步失败,继续同步

  • repo start
repo start BRANCH_NAME PROJECT_NAME
创建分支,以上命令就是 给仓库‘PROJECT_NAME’创建名为‘BRANCH_NAME’的本地分支,
如果需要给repo管理的所有仓库创建本地分支,其命令为:

repo start BRANCH_NAME --all

此命令会更新manifest xml文件中的信息给对应的远程分支 创建相应的本地分支
  • repo status
repo status  [project list] 

显示当前工作目录的状态或指定工程名或者工程路径的状态

更多详细的命令,可以问度娘,或者使用help参数查看

以上是关于repo安装与简单使用的主要内容,如果未能解决你的问题,请参考以下文章

Linux里面repo文件作用是啥?

KVM — 安装部署

将 Phoenix 与 Cloudera Hbase 一起使用(从 repo 安装)

linux安装JRE和Tomcat

linux安装JRE和Tomcat

yum配置简介