linux开发工具:repo

news2024/10/5 17:27:38

1:repo简单介绍

repo是Google开发的用于管理Android版本库的一个工具,它是由一系列的Python脚本组成,封装了一系列的Git命令,用来统一管理多个Git仓库。repo不是用于取代git,而是简化了对多个Git版本库的管理。

repo可以帮助您统一管理多个Git版本库,包括但不限于:初始化、同步、提交、推送、拉取、合并等。

repo的使用方法如下:

  1. 安装repo

    $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
    $ chmod a+x ~/bin/repo
    
  2. 初始化repo

    $ repo init -u git://github.com/android/platform_manifest.git
    
  3. 同步代码

    $ repo sync
    
  4. 提交代码

    $ repo start <branch> <project>...
    $ cd <project>
    $ git add .
    $ git commit -m "commit message"
    $ repo upload .
    
  5. 推送代码

    $ repo upload .
    
  6. 拉取代码

    $ repo sync
    
  7. 合并代码

    $ repo sync
    $ repo start <branch> <project>...
    $ cd <project>
    $ git merge <branch>
    $ git commit -m "commit message"
    $ repo upload .
    

2:repo工作原理

谷歌其实是建立了一个 manifests 仓库来维护 Android 源码,而 mainfests 仓库保存这一个default.xml 文件,该文件就记录了 Android 源码中的各个子仓库的地址, 以及下载到本地哪个地方, 然后 repo 是用 python 编写的一个脚本, repo 脚本就会根据 default.xml 中配置进行批量下载:

manifest 的仓库地址如下所示, 也可以单独下载:

git clone git://mirrors.ustc.edu.cn/aosp/platform/manifest

打开.repo/manifests/default.xml

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <remote  name="aosp"
           fetch=".."
           review="https://android-review.googlesource.com/" />
  <default revision="refs/tags/android-10.0.0_r45"
           remote="aosp"
           sync-j="4" />

 <!—remote 标签指定远程仓库名字, fetch 是所有 git url 真正路径的前缀,所有 git  project name 加上这个前缀,就是 git url 的真正路径;review :指定 Gerrit 的服务器名,用于 repo upload 操作-->
 <!—default 标签设定所有 projects 的默认属性值,如果在 project 元素里没有指定一个属性, 则使用 default 元素的属性值 -->

 <!—project 标签name :git 的名称,用于生成 git url。URL 格式是:${remote fetch}/${project name}.git 其中的 fetch 就是上面提到的 remote 中的 fetch 元素,name 就是此处的 name path :clone 到本地的 git 的工作目录,如果没有配置的话,跟 name 一样
 remote :定义 remote name,如果没有定义的话就用 default 中定义的 remote name
 revision :指定需要获取的 git 提交点,可以定义成固定的 branch,或者是明确的 commit 哈希值
 groups :列出 project 所属的组,以空格或者逗号分隔多个组名。所有的 project 都自动属于"all"组。每一个 project自动属于-->
 <project path="build/make" name="platform/build" groups="pdk" >
 <copyfile src="core/root.mk" dest="Makefile" />
 <linkfile src="CleanSpec.mk" dest="build/CleanSpec.mk" />
 <linkfile src="buildspec.mk.default" dest="build/buildspec.mk.default" />
 <linkfile src="core" dest="build/core" />
 <linkfile src="envsetup.sh" dest="build/envsetup.sh" />
 <linkfile src="target" dest="build/target" />
 <!-- src 表示在 build/make/tools 目录, dest 表示本地路径 build/tools 软件链接文件链接到 src-->
 <linkfile src="tools" dest="build/tools" />
 </project>
 <project path="build/blueprint" name="platform/build/blueprint" groups="pdk,tradefed" />
 <project path="build/kati" name="platform/build/kati" groups="pdk,tradefed" />
 <project path="build/soong" name="platform/build/soong" groups="pdk,tradefed" >
 </manifest>

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

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

相关文章

6 种方式读取 Springboot 的配置(原理+实战)

从配置文件中获取属性应该是SpringBoot开发中最为常用的功能之一&#xff0c;但就是这么常用的功能&#xff0c;仍然有很多开发者在这个方面踩坑。 我整理了几种获取配置属性的方式&#xff0c;目的不仅是要让大家学会如何使用&#xff0c;更重要的是弄清配置加载、读取的底层…

搭建Promethues + grafana +alertManager+blakbox 监控springboot 健康和接口情况

一。概述 架构图&#xff1a; 拓扑图&#xff1a; prometheus 是一个开源系统&#xff0c;用于构建监控和报警的工具包。 Prometheus 收集其指标并将其存储为时间序列数据&#xff0c;即指标信息与记录它的时间戳一起存储&#xff0c;以及称为标签的可选键值对。 特点&#…

003.PADS VX2.4选项设置及显示颜色设置

文章目录 一、PADS颜色设置及选项设置二、选项设置1.全局2.设计3.栅格和捕获4.显示5.布线选项页6.覆铜平面选项页7.文本和线选项页8.文本和线选项页9.过孔样式选项页 一、PADS颜色设置及选项设置 一、颜色设置 1&#xff0e;点击设置—显示颜色&#xff09;&#xff08;快捷键…

Kkfileview | Docker | 文件预览kkfile配置

文章目录 简介DockerRedis部署 简介 kkFileView为文件文档在线预览解决方案&#xff0c;该项目使用流行的spring boot搭建&#xff0c;易上手和部署&#xff0c;基本支持主流办公文档的在线预览&#xff0c;如doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频等等 …

SQLSERVER 临时表 和 表变量 有区别吗

一&#xff1a;背景 1. 讲故事 今天和大家聊一套面试中经常被问到的高频题&#xff0c;对&#xff0c;就是 临时表 和 表变量 这俩玩意&#xff0c;如果有朋友在面试中回答的不好&#xff0c;可以尝试看下这篇能不能帮你成功迈过。 二&#xff1a;到底有什么区别 1. 前置思…

十五、flex弹性元素的样式

目录&#xff1a; 1. 基本布局 2. 弹性元素的属性&#xff1a;flex-grow 3. 弹性元素的属性&#xff1a;flex-shrink 4. 弹性元素的属性&#xff1a;flex-basis 5. flex 统一设置这3个属性&#xff08;常用&#xff09; 6. order 一、基本布局 <style>*{margin: 0;paddin…

【Maven】类或者包提示找不到,报红

背景 使用IDEA&#xff0c;类或者包提示找不到&#xff0c;报红 解决方法 1. maven reload 2. 检查profiles是否对 3. 不要选中offline模式 4. 检查本地仓库位置 5. 清掉idea缓存 6. 到本地maven仓库删掉出错的包然后重新maven reload 7. update本地仓库 8. 排查是不是别人没…

智慧用电安全监控管理系统

智慧用电安全监控管理系统是一种基于物联网技术的用电安全管理系统&#xff0c;它通过远程通信技术和云计算平台&#xff0c;实现了对电气设备的实时监控、数据采集、费用计算、远程控制等功能。该系统不仅可以提高用电安全管理的效率&#xff0c;还可以为用户提供更加便捷、可…

Linux(centos 7)将 ens33 改为 eth0

背景&#xff1a; 先说明一下 eth0 与 ens33 的关系&#xff0c;目前的主流网卡为使用以太网络协定所开发出来的以太网卡&#xff08;Ethernet)&#xff0c;因此我们 Linux 就称呼这种网络接口为 ethN (N为数字)。 举个例子&#xff1a;就是说主机上面有一张以太网卡&#xff0…

C++线性表、单链表

概述 在先说链表前&#xff0c;我们先来理清几个概念。 什么是线性表、顺序表和链表&#xff1f;三者有什么关系&#xff1f; 线性表&#xff1a;元素线性排列&#xff0c;在逻辑上具有次序的存储结构。 顺序表&#xff1a;线性表的顺序存储称为线性表。它是用一组地址连续(逻…

抖音短视频seo源码开发部署-技术分享(四)

一、 抖音短视频seo源码开发流程 抖音短视频SEO源码开发流程如下&#xff1a; 1.分析需求&#xff1a;首先需要明确你的SEO目标。分析竞争对手&#xff0c;了解抖音短视频平台的规则&#xff0c;选定目标关键词和主题。 2.编写代码&#xff1a;根据需求编写代码&#xff0c;…

docker 安装向量数据库 Milvus

Miluvs 官网为 www.milvus.io/ Milvus 向量数据库能够帮助用户轻松应对海量非结构化数据&#xff08;图片 / 视频 / 语音 / 文本&#xff09;检索。单节点 Milvus 可以在秒内完成十亿级的向量搜索&#xff08;请参考&#xff1a;在线教程&#xff09;&#xff0c;分布式架构亦…

This application failed to start?

大家好&#xff0c;最近在搞一个定制的图像分割项目&#xff0c;其中需要自己构建数据集。 这里我用到了基于paddle开发高效智能的交互式分割标注软件 EISeg(Efficient Interactive Segmentation)。 它涵盖了通用、人像、遥感、医疗、视频等不同方向的高质量交互式分割模型。另…

低代码——现代数字化人才培养的创新引擎

如今&#xff0c;随着数字时代的蓬勃发展&#xff0c;催生了各行各业数字化转型的浪潮。如果说技术是衍生数字时代的基石&#xff0c;那数字化人才一定是这场浪潮中不可或缺的推动力量。 随着新兴技术的不断创新和应用&#xff0c;全行业对于复合型、创新型的优秀数字化人才需…

四种常见分布式限流算法实现!

大家好&#xff0c;我是老三&#xff0c;最近公司在搞年终大促&#xff0c;随着各种营销活动“组合拳”打出&#xff0c;进站流量时不时会有一个小波峰&#xff0c;一般情况下&#xff0c;当然是流量越多越好&#xff0c;前提是系统能杠地住。大家都知道&#xff0c;一个分布式…

css 网页色调变为黑白

在html的css中加入 filter: grayscale(1);

Java Springboot设置MySQL的ssl连接访问

一、需求背景 需要修改应用程序通过SSL连接mysql数据库。 环境配置 数据库&#xff1a;MySQL 8.0.21 &#xff08;enabled SSL&#xff09; Java版本&#xff1a;openjdk version "1.8.0_332" Springboot版本&#xff1a;v2.5.3 二、生成证书 下面是MySQL数据库服…

提升1Panel的安全性:在Armbian上设置个性化SSL证书

文章目录 基础知识OpenSSLOpenSSL常用命令SSL证书与DDoS攻击SSL证书常见办法机构 armbian安装OpenSSLOpenSSL下载和安装生成私钥和证书生成私钥和证书提示信息的解释challenge password 可能遇到的错误 安装完成后的思考完整的操作演示 基础知识 OpenSSL OpenSSL是一个开源的…

软件工程——第11章面向对象设计知识点整理

本专栏是博主个人笔记&#xff0c;主要目的是利用碎片化的时间来记忆软工知识点&#xff0c;特此声明&#xff01; 文章目录 1.什么是面向对象设计&#xff08;OOD&#xff09;&#xff1f; 2.优秀设计的主要特点是&#xff1f; 3.面向对象设计应遵循的准则有哪些&#xff1f…

检验样本正态性

简介 在统计学中很多推论与正态分布有关&#xff0c;并且很多统计量构造为满足正态分布的形式&#xff0c;很多分布在特定条件近似于正态分布。因此&#xff0c;在统计推断中经常需要判断样本的正态性。本文介绍一些常用的方法。 环境和数据准备&#xff1a; import numpy a…