Repo命令使用实例(三十八)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀
优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
1.前言
本篇目的:Repo源码控制工具学习。
2.Repo介绍
- repo 是一个用 Go 语言编写的版本控制系统,旨在简化 Git 仓库的管理。它提供了一些有用的功能,如并行克隆、子模块支持、预提交钩子和多种存储后端。repo 是由 Google 开源的,并在其内部广泛使用。
- 主要特性
- 并行克隆:repo 可以在多个目录中并行克隆仓库,这比 Git 原生克隆的速度要快得多。
- 子模块支持:它自动处理子模块的添加和更新,无需手动操作。
- 预提交钩子:支持在提交之前运行自定义脚本,以便进行验证或其他操作。
- 多种存储后端:除了支持本地文件系统外,还支持 HTTP、HTTPS、Git 协议和 Amazon S3 等。
- 子树支持:允许你将仓库中的特定子树克隆到另一个仓库。
- 二次合并:repo 可以在合并时解决冲突,然后再次合并。
- Git 协议优化:通过 Git 协议传输数据时,repo 支持标签、提交和引用压缩,以提高传输效率。
3.Repo命令开发实例
<1>.提供帮助命令
# repo help
<2>.提供有关 repo 命令的帮助
# repo help command
<3>.生成 init 命令的说明和选项列表
# repo help init
<4>.查看某个命令的可用选项的列表
# repo command --help
# repo init --help
<5>.init
# repo init -u url [options]
-u:指定从中检索清单代码库的网址。
-m:选择代码库中的清单文件。如果未选择清单名称,则默认为 default.xml。
-b:指定修订版本,即特定的 manifest-branch。
<6>.同步
# repo sync [project-list]
下载新的更改并更新本地环境中的工作文件,基本上可以在所有 Git 代码库中完成 git fetch。如果在未使用任何参数的情况下运行 repo sync,则该命令会同步所有项目的文件。
运行 repo sync 后,将出现以下情况:
如果目标项目从未同步过,则 repo sync 相当于 git clone;远程代码库中的所有分支都会复制到本地项目目录中。
如果目标项目以前同步过,则 repo sync 相当于:
# git remote update
# git rebase origin/branch
其中 branch 是本地项目目录中当前已检出的分支。如果本地分支没有在跟踪远程代码库中的分支,则项目不会发生任何同步。
如果 Git rebase 操作导致合并冲突,请使用常规 Git 命令(例如 git rebase --continue)来解决冲突。
<7>.upload
# repo upload [project-list]将更改上传到审核服务器。 对于指定的项目,Repo 会将本地分支与最后一次 Repo sync 时更新的远程分支进行比较。Repo 会提示您选择一个或多个尚未上传以供审核的分支。接下来,所选分支上的所有提交都会通过 HTTPS 连接传输到 Gerrit。您需要配置一个 HTTPS 密码以启用上传授权。如需生成新的用户名/密码对以用于 HTTPS 传输,请访问密码生成器。当 Gerrit 通过其服务器接收对象数据时,它会将每项提交转变成一项更改,以便审核者可以针对特定提交给出意见。如需将几项“检查点”提交合并为一项提交,请运行 git rebase -i 然后再运行 upload。如果在未使用任何参数的情况下运行 repo upload,则该命令会在所有项目中搜索要上传的更改。如需在更改上传后对其进行修改,请使用 git rebase -i 或 git commit --amend 等工具更新您的本地提交内容。修改完成之后,请执行以下操作:进行验证以确保更新后的分支是当前已检出的分支。
使用 repo upload --replace PROJECT 打开更改匹配编辑器。
<8>.diff
# repo diff [project-list]
使用 git diff 显示提交与工作树之间的明显更改。
<9>.download
# repo download target change
从审核系统中下载指定更改,并放在您项目的本地工作目录中供使用。
如需将更改 23823 下载到platform/build目录,运行以下命令
# repo forall [project-list] -c command
在每个项目中运行指定的 shell 命令。通过 repo forall 可使用下列额外的环境变量:REPO_PROJECT 设为项目的唯一名称。
REPO_PATH 是相对于客户端根目录的路径。
REPO_REMOTE 是清单中远程系统的名称。
REPO_LREV 是清单中修订版本的名称,已转换为本地跟踪分支。如果您需要将清单修订版本传递到某个本地运行的 Git 命令,则可使用此变量。
REPO_RREV 是清单中修订版本的名称,与清单中显示的名称完全一致。
选项:-c:要执行的命令和参数。此命令会通过 /bin/sh 进行评估,其之后的任何参数都将作为 shell 位置参数来进行传递。
-p:在所指定命令的输出结果之前显示项目标头。这通过以下方式实现:将管道绑定到命令的 stdin、stdout 和 sterr 流,然后通过管道将所有输出结果传输到一个单页会话中显示的连续流中。
-v:显示该命令向 stderr 写入的消息。
<10>.prune
# repo prune [project-list]
删减(删除)已合并的主题。
<11>.start
# repo start branch-name [project-list]从清单中指定的修订版本开始,创建一个新的分支进行开发。BRANCH_NAME 参数用于简要说明您尝试对项目进行的更改。如果您不知道,请考虑使用名称 default。project-list 参数指定了将参与此主题分支的项目。
<12>.status
# repo status [project-list]
对于每个指定的项目,将工作树与临时区域(索引)以及此分支 (HEAD) 上的最近一次提交进行比较。
对这三种状态之间存在差异的每个文件,显示其摘要行。如需仅查看当前分支的状态,运行 repo status .系统会按项目列出状态信息。
对于项目中的每个文件,系统使用两个字母的代码来表示:
在第一列中,大写字母表示临时区域与上次提交状态之间的不同之处。
相关文章:

Repo命令使用实例(三十八)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…...
2024年华为OD机试真题-分披萨-Python-OD统一考试(C卷)
题目描述: “吃货”和“馋嘴”两人到披萨店点了一份铁盘(圆形)披萨,并嘱咐店员将披萨按放射状切成大小相同的偶数扇形小块。但是粗心服务员将披萨切成了每块大小都完全不同奇数块,且肉眼能分辨出大小。 由于两人都想吃到最多的披萨,他们商量了一个他们认为公平的分法:从…...

找负环(图论基础)
文章目录 负环spfa找负环方法一方法二实际效果 负环 环内路径上的权值和为负。 spfa找负环 两种基本的方法 统计每一个点的入队次数,如果一个点入队了n次,则说明存在负环统计当前每个点中的最短路中所包含的边数,如果当前某个点的最短路所…...

无人机飞控算法原理基础研究,多旋翼无人机的飞行控制算法理论详解,无人机飞控软件架构设计
多旋翼无人机的飞行控制算法主要涉及到自动控制器、捷联式惯性导航系统、卡尔曼滤波算法和飞行控制PID算法等部分。 自动控制器是无人机飞行控制的核心部分,它负责接收来自无人机传感器和其他系统的信息,并根据预设的算法和逻辑,对无人机的姿…...

关于内存相关的梳理
1 关键字 总结 (lowmemory,anr in) 2 知识储备 虚拟机原理 垃圾回收算法 又包含标记 和清除两种算法 标记:程序计数器-已过时,可达性分析 具体可见 http://help.eclipse.org/luna/index.jsp?topic%2Forg.ec…...

7.JS里表达式,if条件判断,三元运算符,switch语句,断点调试
表达式和语句的区别 表达式就是可以被求值的代码比如什么a 1 语句就是一段可以执行的代码比如什么if else 直接给B站的黑马程序员的老师引流一波总结的真好 分支语句 就是基本上所有的语言都会有的if else 语句就是满足不同的条件执行不同的代码,让计算机有条件…...

RK3568平台开发系列讲解(存储篇)文件句柄与文件描述符介绍
🚀返回专栏总目录 文章目录 一、什么是文件句柄二、什么是文件描述符2.1、files_struct 结构体2.2、fdtable 结构体三、数据结构关系图沉淀、分享、成长,让自己和他人都能有所收获!😄 一、什么是文件句柄 用户空间的进程通过open系统调用打开一个文件之后,内核返回的就是…...

【C++】类和对象(五)友元、内部类、匿名对象
前言:前面我们说到类和对象是一个十分漫长的荆棘地,今天我们将走到终点,也就是说我们对于C算是正式的入门了。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:高质量C学习 &…...

攻防世界 CTF Web方向 引导模式-难度1 —— 1-10题 wp精讲
目录 view_source robots backup cookie disabled_button get_post weak_auth simple_php Training-WWW-Robots view_source 题目描述: X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。 不能按右键,按F12 robots …...
Docker之MongoDB安装、创建用户及登录认证
Docker之MongoDB安装、创建用户及登录认证 文章目录 Docker之MongoDB安装、创建用户及登录认证1. 拉取镜像2. 创建宿主机容器数据卷3. 运行mongodb容器1. 运行容器2. 创建用户3. 创建数据库并设置密码 1. 拉取镜像 docker pull mongo:4.2.212. 创建宿主机容器数据卷 运行docke…...

紫微斗数双星组合:天机天梁在辰戌
文章目录 前言内容总结 前言 紫微斗数双星组合:天机天梁在辰戌 内容 紫微斗数双星组合:天机天梁在辰戌 性格分析 在紫微斗数命盘中,天梁星是一颗“荫星”,能够遇难呈祥,化解凶危,主寿,主贵。…...

N-144基于微信小程序在线订餐系统
开发工具:IDEA、微信小程序 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 前端技术:vue、ElementUI、 Vant Weapp 服务端技术:springbootmybatisredis 本系统分微信小程序和…...

[UI5 常用控件] 09.IconTabBar,IconTabHeader,TabContainer
文章目录 前言1. IconTabBar1.1 简介1.2 基本结构1.3 用法1.3.1 颜色,拖放,溢出1.3.2 Icons Only , Inner Contents1.3.3 showAll,Count,key,IconTabSeparator 1.3.4 Only Text1.3.5 headerMode-Inline1.3.6 design,IconTabSeparator-icon1.3.7 DensityM…...
CCF编程能力等级认证GESP—C++5级—20231209
CCF编程能力等级认证GESP—C5级—20231209 单选题(每题 2 分,共 30 分)判断题(每题 2 分,共 20 分)编程题 (每题 25 分,共 50 分)小杨的幸运数烹饪问题 答案及解析单选题判断题编程题1编程题2 单…...

【论文精读】GPT2
摘要 在单一领域数据集上训练单一任务的模型是当前系统普遍缺乏泛化能力的主要原因,要想使用当前的架构构建出稳健的系统,可能需要多任务学习。但多任务需要多数据集,而继续扩大数据集和目标设计的规模是个难以处理的问题,所以只能…...
10-k8s中pod的探针
一、探针的概念 一般时候,探针的设置,都是为了优化业务时,需要做的事情;属于后期工作; 1,探针的分类 1,健康状态检查探针:livenessProbe 当我们设置了这个探针之后,检查…...

【Langchain Agent研究】SalesGPT项目介绍(二)
【Langchain Agent研究】SalesGPT项目介绍(一)-CSDN博客 上节课,我们介绍了SalesGPT他的业务流程和技术架构,这节课,我们来关注一下他的项目整体结构、poetry工具和一些工程项目相关的设计。 项目整体结构介绍 我们把…...

《UE5_C++多人TPS完整教程》学习笔记4 ——《P5 局域网连接(LAN Connection)》
本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P5 局域网连接(LAN Connection)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译者&…...

【运维测试】移动测试自动化知识总结第1篇:移动端测试介绍(md文档已分享)
本系列文章md笔记(已分享)主要讨论移动测试相关知识。主要知识点包括:移动测试分类及android环境搭建,adb常用命令,appium环境搭建及使用,pytest框架学习,PO模式,数据驱动࿰…...

高校疫情防控系统的全栈开发实战
✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…...
如何从零开始建设一个网站?
当你没有建站的基础和建站的知识,那么应该如何开展网站建设和网站管理。而今天的教程是不管你是为自己建站还是为他人建站都适合的。本教程会指导你如何进入建站,将建站的步骤给大家分解: 首先我们了解一下,建站需要那些步骤和流程…...

网络寻路--图论
所以我们固定题中M条边(因为这M条一定联通) P8605 [蓝桥杯 2013 国 AC] 网络寻路 - 洛谷 #include<bits/stdc.h> using namespace std; #define N 100011 typedef long long ll; typedef pair<int,int> pii; int n,m; int d[N],u[N],v[N]…...

【高效开发工具系列】Blackmagic Disk Speed Test for Mac:专业硬盘测速工具
博客目录 一、Blackmagic Disk Speed Test 概述二、软件核心功能解析三、v3.3 版本的新特性与改进四、实际应用场景分析五、使用技巧与最佳实践六、与其他工具的比较及优势 一、Blackmagic Disk Speed Test 概述 Blackmagic Disk Speed Test 是 Mac 平台上广受专业人士青睐的一…...
【Linux】为 Git 设置 Commit 提交模板方法,可统一个人或者项目的提交风格
为 Git 设置 Commit 提交模板 新建模板文件。注意之后不能删除该文件。 gedit ~/.gitmessage.txt粘贴自己的模板。可以给 AI 提自己的需求,定制一个模板,例如 # <type>(<scope>): <description> # # [optional body] # # [optional…...

1.3 古典概型和几何概型
文章目录 古典概型模型(等可能模型)几何概型 古典概型模型(等可能模型) 两个条件: 1) 有限个样本点 2) 等可能性 例题: 设有n个人,每个人都等可能地被分配到N个房间中的任一间(n≤N), 求下列事件的概率: (1)某指定的n间房…...
前端基础之《Vue(19)—状态管理》
一、什么是状态管理 1、Vue版本问题 Vue2 Vuex3 Vue3 Vuex4 / Pinia2 在使用任何技术的时候,都先要去搜索一下版本,你的版本和脚手架环境是否兼容。 2、安装Vuex yarn add vuex3.6.2 3、状态管理 状态,在应用程序中表示数据,…...

一些免费的大A数据接口库
文章目录 一、Python开源库(适合开发者)1. AkShare2. Tushare3. Baostock 二、公开API接口(适合快速调用)1. 新浪财经API2. 腾讯证券接口3. 雅虎财经API 三、第三方数据平台(含免费额度)1. 必盈数据2. 聚合…...
[蓝桥杯]通电
通电 题目描述 2015 年,全中国实现了户户通电。作为一名电力建设者,小明正在帮助一带一路上的国家通电。 这一次,小明要帮助 nn 个村庄通电,其中 1 号村庄正好可以建立一个发电站,所发的电足够所有村庄使用。 现在…...
微信小程序动态效果实战指南:从悬浮云朵到丝滑列表加载
小红书爆款交互设计解析,附完整代码! 🔥 一、为什么动态效果是小程序的关键竞争力? 用户留存提升:数据显示,86.3%的微商从业者依赖微信小程序,而动态效果能显著降低跳出率。技术赋能体验&#…...

基于cornerstone3D的dicom影像浏览器 第二十九章 自定义菜单组件
文章目录 前言一、程序结构1. 菜单数据结构2. XMenu.vue3. XSubMenu.vue4. XSubMenuSlot.vue5. XMenuItem.vue 二、调用流程总结 前言 菜单用于组织程序功能,为用户提供导航。是用户与程序交互非常重要的接口。 开源组件库像Element Plus和Ant Design中都提供了功能…...