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参数查看

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章