Repo命令与git的关系是很密切的。 我们都知道,git是一个开源的版本控制系统,常用在大型项目的管理上。 我们对repo的使用和了解就比较少了。Repo是一个基于Git构建出来的工具,它的出现不是为了取代Git,而是为了更方便开发者使用Git这个工具。repo脚本的部分截图:
事实上,如果你也像我一样用的是Ubuntu操作系统,那么操作系统已经存在这个脚本了,它在usr/bin/repo:
所以对于我们来说真正要做的就是将repo脚本里的REPO_URL的值改成一个可用的,REPO_URL在脚本中的值是https://gerrit.googlesource.com/git-repo,我这边不能访问,我用清华的来代替它,清华REPO_URL值是https://mirrors.tuna.tsinghua.edu.cn/git/git-repo。这样我们就可以使用repo工具了。
如果你的Linux操作系统上没有repo这个工具,那么你可以按下面的步骤来操作:
安装Repo命令
在terminal里输入repo -h
就会提示我们repo还没有安装,可以使用repo init来把repo安装在当前目录,之所以可以安装在当前目录,而不是git的安装那样安装在工程目录以外,是因为repo这个工具就是一个python写的脚本工具。
repo init
在当前目录安装repo:
从上图可知,所谓安装repo工具,就是把repo脚本下载回来。执行repo init
后,会从一个默认的地址下载repo,如果失败了,我们其实可以自己下载repo工具,并放到当前目录,我推荐放到~/bin/repo
,再加入到环境变量中,可以让repo全局都可用,而不仅仅只用在当前项目。
创建bin目录用于存储repo脚本,并打开目录:
mkdir -p ~/bin && cd ~/bin
下载repo脚本
用curl命令下载清华大学提供的repo脚本,并保存到~/bin/repo这个文件中:
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
授权repo执行权限
通过ll命令,可以发现repo目前没有执行的权限,所以我们要对其进行授权。
替换脚本中的REPO_URL的地址
接下来我们再修改一下这个repo脚本
上面这段脚本就是:
1、从系统环境变量REPO_URL取值,如果没有取到,就直接用https://gerrit.googlesource.com/git-repo
我试过上面这个地址,访问不了。于是我用了https://mirrors.tuna.tsinghua.edu.cn/git/git-repo这个地下。那么当repo工具在后面的操作中,再需要访问到这个地址,它就用我配置这一个。那么配置的方式,可以直接在repo脚本文件里直接改,或者配置一个REPO_URL环境变量到系统上,它值是一个可以访问到git-repo的东西即可,如我刚刚提供这一个。在这里我直接选择在文件里改,改完保存即可:
将repo命令添加到环境变量中
在terminal中直接将repo所在的目录追加到环境量PATH后面,这种方式只能这一次有效,下一次再使用就需要再执行多一次这条命令,否则报repo命令找不到:
export PATH=${PATH}:~/bin
我们也可以通过以下方式将repo命令做成全局有效,设置一次就行,不需要在使用前再设置:
- 首先,打开家目录(~ 这个符号代表家目录)下的.bashrc配置文件:
$ vim ~/.bashrc
- 将
export PATH=${PATH}:~/bin
追加到.bashrc文件的最后一行
- 执行source命令,让配置立马生效,否则只有下次开机后才会生效
$ source ~/.bashrc
- 检查环境变量是否有我们的~/bin目录,我们可以打印PATH环境变量的值来确定
/home/kyunbn/bin就是repo所在的目录,这说明环境变量中有我们的repo所在的目录了。
测试repo能否工作,我们用repo初始化openharmony的代码
- 创建一个目录myfolder来存放openharmony的仓库
$ mkdir ~/HmOS && cd ~/HmOS
- 在目录~/HmOS初始化openharmony的本地仓库
$ repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
好的,我们的repo可以用了。下一篇我们会了解一下repo提供的命令