Repo命令与git的关系

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命令做成全局有效,设置一次就行,不需要在使用前再设置:

  1. 首先,打开家目录(~ 这个符号代表家目录)下的.bashrc配置文件:
$ vim ~/.bashrc
  1. export PATH=${PATH}:~/bin追加到.bashrc文件的最后一行

请添加图片描述

  1. 执行source命令,让配置立马生效,否则只有下次开机后才会生效
$ source ~/.bashrc
  1. 检查环境变量是否有我们的~/bin目录,我们可以打印PATH环境变量的值来确定
    在这里插入图片描述

/home/kyunbn/bin就是repo所在的目录,这说明环境变量中有我们的repo所在的目录了。

测试repo能否工作,我们用repo初始化openharmony的代码

  1. 创建一个目录myfolder来存放openharmony的仓库
$ mkdir ~/HmOS && cd ~/HmOS
  1. 在目录~/HmOS初始化openharmony的本地仓库
$ repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify

请添加图片描述

好的,我们的repo可以用了。下一篇我们会了解一下repo提供的命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/622856.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用PE信息查看工具和Beyond Compare文件比较工具排查dll库文件版本不对的问题

目录 1、问题说明 2、修改了代码,但安装版本还是有问题 3、使用PE信息查看工具查看音视频库文件(二进制)的时间戳 4、使用Beyond Compare比较两个库文件的差异 5、找到原因 6、最后 C软件异常排查从入门到精通系列教程(专栏…

Python 文本处理库之chardet使用详解

概要 当处理文本数据时,经常会遇到各种不同的字符编码。这可能导致乱码和其他问题,因此需要一种方法来准确识别文本的编码。Python中的chardet库就是为了解决这个问题而设计的,它可以自动检测文本数据的字符编码。本文将深入探讨chardet库的…

浏览器缓存

浏览器缓存是指用户在访问web页面时,将一些静态资源(js,css,图片)缓存到本地硬盘(大:1T)或内存(8G,16G)中,当下次访问页面时,不用向服务端发送请求请求资源,直接从本地加载资源,可以提高用户体验 分类:强缓存和协商缓存 一、强缓存:是指用户第一次请求资源成功后,会将响应头字…

研究领域知名课题组调研

Visual SLAM: reference: [connect paper]{https://www.connectedpapers.com/}https://zhuanlan.zhihu.com/p/130530891 德国慕尼黑工业大学计算机视觉组 研究方向:三维重建、机器人视觉、深度学习、视觉 SLAM 等 实验室主页:https://vision…

MySQL如何存储表情符号?

存储表情符号 默认mysql的字符集是utf8,排序规则为 utf8_general_ci INSERT INTO department (name) VALUES (😄) 在存储表情的时候会报 1366 - Incorrect string value: \xF0\x9F\x98\x84 for column name at row 1, Time: 0.007000s 这时需要修改字符集…

Socket.D v2.3 发布(打通前端与后端)

基于事件和语义消息流的网络应用层协议。 有用户说,“Socket.D 之于 Socket,尤如 Vue 之于 Js、Mvc 之于 Http”。支持 tcp, udp, ws, kcp 传输。 主要特性 基于事件,每个消息都可事件路由所谓语义,通过元信息进行语义描述流关…

git 的安装

git 的安装 在我们开始使用 Git 前,需要将它安装在我们的电脑上。即便已经安装,最好将它升级到最新的版本。 我们可以通过软件包或者其它安装程序来安装,或者下载源码编译安装。 本文只介绍通过在 windows 上安装软件包的方式,其…

大模型实战05——LMDeploy大模型量化部署实践

大模型实战05——LMDeploy大模型量化部署实践 1、大模型部署背景 2、LMDeploy简介 3、动手实践环节——安装、部署、量化 注 笔记内容均为截图 笔记课程视频地址:https://www.bilibili.com/video/BV1iW4y1A77P/?spm_id_from333.788&vd_source2882acf8c823ce…

NLP论文阅读记录 - 2022 | WOS 一种新颖的优化的与语言无关的文本摘要技术

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试1.3本文贡献 二.前提三.本文方法四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 A Novel Optimized Language-Independent Text Summarization Techni…

TCP服务器和客户端的创建步骤

TCP服务器的实现流程:一、创建套接字(socket函数):通信域选择IPV4网络协议、套接字类型选择流式; int sockfd socket(AF_INET,SOCK_STREAM,0); //通信域选择IPV4、套接字类型选择流式二、填充服务器的网络信息结构体&…

青动CRM-E售后 售后工单CRM系统 erp系统 带前端小程序全开源可二开

应用介绍 一款基于FastAdminThinkPHP和uniapp开发的CRM售后管理系统,旨在助力企业销售售后全流程精细化、数字化管理,主要功能:客户、合同、工单、任务、报价、产品、库存、出纳、收费,适用于:服装鞋帽、化妆品、机械机…

操作系统复习 七、八章

操作系统复习 七、八章 文章目录 操作系统复习 七、八章第七章 内存管理内存管理的基本要求和原理覆盖与交换连续分配管理方式非连续分配管理方式基本分段存储管理方式段页式管理方式补充 第八章 虚拟内存虚拟内存的基本概念请求分页管理方式易混知识点页面置换算法页面分配策略…

Apollo之原理和使用讲解

文章目录 1 Apollo1.1 简介1.1.1 背景1.1.2 简介1.1.3 特点 1.2 基础模型1.3 Apollo 四个维度1.3.1 application1.3.2 environment1.3.3 cluster1.3.4 namespace 1.4 本地缓存1.5 客户端设计1.5.1 客服端拉取原理1.5.2 配置更新推送实现 1.6 总体设计1.7 可用性考虑 2 操作使用…

程序猿的产品思考:2C与2B产品思维的区别

原创/朱季谦 我最早接触到互联网产品的时候,听到最多的,是做产品要有用户思维,即站在用户角度去看待产品。这个先入为主的概念,在很长一段时间里,都被我效作经典。然而也在很长一段时间里,我竟混淆了其中的…

Flink-SQL——动态表 (Dynamic Table)

动态表 (Dynamic Table) 文章目录 动态表 (Dynamic Table)DataStream 上的关系查询动态表 & 连续查询(Continuous Query)在流上定义表连续查询更新和追加查询查询限制 表到流的转换总结 SQL 和关系代数在设计时并未考虑流数据。因此,在关系代数(和 SQL)之间几乎…

ubuntu18.04 TensorRT 部署 yolov5-7.0推理

文章目录 1、环境配置2、推理部分2.1、检测2.2、分类2.3、分割2.4、INT8 量化 1、环境配置 链接: TensorRT cuda环境安装 2、推理部分 下载yolov5对应版本的包 https://github.com/wang-xinyu/tensorrtx/tree/master/yolov5 2.1、检测 1、源码模型下载 git clone -b v7.0 …

您的计算机已被[datastore@cyberfear.com].mkp勒索病毒感染?恢复您的数据的方法在这里!

导言: 在数字化时代,网络安全问题愈发严峻,而[datastorecyberfear.com].mkp [hendersoncock.li].mkp [myersairmail.cc].mkp勒索病毒正是其中一个颇具威胁的恶意软件。本章将深入剖析[datastorecyberfear.com].mkp [hendersoncock.li].mkp […

C# 导出EXCEL 和 导入

使用winfrom简单做个界面 选择导出路径 XLSX起名字 打开导出是XLSX文件 // 创建Excel应用程序对象Excel.Application excelApp new Excel.Application();excelApp.Visible false;// 创建工作簿Excel.Workbook workbook excelApp.Workbooks.Add(Type.Missing);Excel.Works…

如何优化Uniapp应用程序的性能?

优化Uniapp应用程序的性能可以从以下几个方面进行优化: 减少页面加载时间:避免页面过多和过大的组件,减少不必要的资源加载。可以使用懒加载的方式,根据用户的实际需求来加载页面和组件。 节流和防抖:对于频繁触发事件…

F-score 和 Dice Loss 原理及代码

文章目录 1. F-score1. 1 原理1. 2 代码2. Dice Loss2.1 原理2.2 代码 通过看开源图像语义分割库的源码,发现它对 Dice Loss 的实现方式,是直接调用 F-score 函数,换言之,Dice Loss 是 F-score的特殊情况。于是就研究了一下这背后…