android repo学习

基于WEKWS模型的语音唤醒关键词识别 本文所使用的模型网络结构继承自论文《Compact Feedforward Sequential Memory Networks for Small-footprint Keyword Spotting》,文中研究了将低秩矩阵分解与传统FSMN相结合的紧凑型前馈顺序记忆网络(cFSMN)用于远场关键字检测任务。 阅读详情
如何取得 Android 源代码 Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本 控制软件,它不同于 Subversion、CVS 这样的集中式版本控制系统。在集中式版本控制系统 中只有一个仓库(repository) ,许多个工作目录(working copy) ,而像 Git 这样的分布式 版本控制系统中(其他主要的分布式版本控制系统还有 BitKeeper、Mercurial、GNU Arch、 Bazaar、Darcs、SVK、Monotone 等) ,每一个工作目录都包含一个完整仓库,它们可以支持 离线工作,本地提交可以稍后提交到服务器上。分布式系统理论上也比集中式的单服务器系 统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会 因为一两个节点而受到影响。 因为 Android 是由 kernel、Dalvik、Bionic、prebuilt、build 等多个 Git 项目组成,所以 Android 项目编写了一个名为 Repo 的 Python 的脚本来统一管理这些项目的仓库,使得 Git 的使用更加简单。 这几天 William 为了拿 Android 最新的 sourcecode,学习了一下 git 和 repo 的一些基本操 作,整理了一个如何取得 Android 代码的 How-To,今天把他贴上来。 1、Git 的安装 在 Ubuntu 8.04 上安装 git 只要设定了正确的更新源,然后使用 apt-get 就可以了,有什么 依赖问题, 就让它自己解决吧。 其中 cURL 是一个利用 URL 语法在命令行下工作的文件传输工 具,会在后面安装 Repo 的时候用到。 sudo apt-get install git-core curl 2、安装 Repo 首先确保在当前用户的主目录下创建一个/bin 目录(如果没有的话) ,然后把它(~/bin)加到 PATH 环境变量中 接下来通过 cURL 来下载 Repo 脚本,保存到~/bin/repo 文件中 curl http://android.git.kernel.org/repo >~/bin/repo 别忘了给 repo 可执行权限 chmod a+x ~/bin/repo 3、初始化版本库 如果是想把 Android 当前主线上最新版本的所有的 sourcecode 拿下来,我们需要 repo 的帮 助。 先建立一个目录,比如~/android,进去以后用 repo init 命令即可。 repo init -u git://android.git.kernel.org/platform/manifest.git 这个过程会持续很长的时间(至少可以好好睡一觉) ,具体要多少时间就取决于网络条件了 最后会看到 repo initialized in /android 这样的提示,就说明本地的版本库已经初始化 完毕,并且包含了当前最新的 sourcecode。 如果想拿某个 branch 而不是主线上的代码,我们需要用-b 参数制定 branch 名字,比如: repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake 另一种情况是, 我们只需要某一个 project 的代码, 比如 kernel/common, 就不需要 repo 了, 直接用 Git 即可。 git clone git://android.git.kernel.org/kernel/common.git 这也需要不少的时间,因为它会把整个 Linux Kernel 的代码复制下来。 如果需要某个 branch 的代码, git checkout 即可。 用 比如我们刚刚拿了 kernel/common.get 的代码,那就先进入到 common 目录,然后用下面的命令: git checkout origin/android-goldfish-2.6.27 -b goldfish 这样我们就在本地建立了一个名为 goldfish 的 android-goldfish-2.6.27 分支, 代码则已经 与 android-goldgish-2.6.27 同步。我们可以通过 git branch 来列出本地的所有分支。 4、同步版本库 使用 repo sync 命令,我们把整个 Android 代码树做同步到本地,同样,我们可以用类似 repo sync project1 project2 …?? 这样的命令来同步某几个项目 如果是同步 Android 中的单个项目,只要在项目目录下执行简单的 git pull 即可。 5、通过 GitWeb 下载代码 另外,如果只是需要主线上某个项目的代码,也可以通过 GitWeb 下载,在 shortlog 利用关 键字来搜索特定的版本,或者找几个比较新的 tag 来下载还是很容易的。 Git 最初是为 Linux 内核开发而设计, 所以对其他平台的支持并不好, 尤其是 Windows 平台, 必须要有 Cygwin 才可以。现在,得益于 msysgit 项目,我们已经可以不需要 Cygwin 而使用 Git 了。另外,Git Extensions 是一个非常好用的 Windows Shell 扩展,它能与资源管理器 紧密集成,甚至提供了 Visual Studio 插件。它的官方网站上有一分不错的说明文档,感兴 趣的朋友可以看一看。 至于 Git 的参考文档,我推荐 Git Magic,这里还有一个 Git Magic 的中文版。

1. Git Config:
$ git config --global user.name "Shilin Yi"$ git config --global user.email "yishilin@gmail.com"
   配置git的参数变量,它可以带以下2个参数:
   --system,针对系统的所有用户的,对应的配置文件在/etc/gitconfig
   --global,针对系统当前用户的,对应的配置文件在~/.gitconfig
   不带参数,针对当前git仓库的,对应的配置文件在.git/config
   如果在个人pc上使用git,加上参数--global即可
   如果在公共服务器上使用git,则一定不要带那2个参数

2. Git push
$ git push ssh://git@dev.lemote.com/rt4ls.git master // 把本地仓库提交到远程仓库的master分支中
与以下两条语句相同

添加一个标记,让origin指向ssh://git@dev.lemote.com/rt4ls.git,也就是说你操作origin的时候,实际上就是在操作ssh://git@dev.lemote.com/rt4ls.git。origin在这里完全可以理解为后者的别名


$ git remote add origin ssh://git@dev.lemote.com/rt4ls.git$ git push origin master
默认情况下这条语句等价于提交本地的master branch到远程仓库,并作为远程的master分支

$ git push origin test:master         // 提交本地test分支作为由origin指向的远程的master分支$ git push origin test:test              // 提交本地test分支作为由origin指向的远程的test分支如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。$ git push origin :test              // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心
3. 远程分支
我们用 (远程仓库名)/(分支名) 这样的形式表示远程分支


$ git branch -r  origin/HEAD -> origin/master  origin/master$ git remote -vorigin  git@yottaa.unfuddle.com:yottaa/router-fm.git (fetch)origin  git@yottaa.unfuddle.com:yottaa/router-fm.git (push)$  git fetch origin  fetch由origin标示的远程git@yottaa.unfuddle.com:yottaa/router-fm.git到本地的origin/master上(但是你不能修改origin/master上的内容)说明:这里origin使默认的名字,你也可以取别的名字
4. Git pull/fetch
git fetch origin master:test  #从origin指定的远程获取最新的版本到本地的test分支上,不会自动进行merge
git pull origin master           #从origin指定的远程获取最新的版本到本地,并自动进行merge到本地当前分支上


Git配置KDiff3
文章分类:软件开发管理
Git支持很多merge工具, 我习惯用KDiff3

配置命令如下

git config --global -l
查看已经配置了什么merge工具

如果没有merge.tool和mergetool.kdiff3.path
则输入
git config --global --add merge.tool kdiff3
git config --global --add mergetool.kdiff3.path "D:/Program Files/KDiff3/kdiff3.exe"

路径根据你的安装位置

如果有

则输入
git config --global merge.tool=kdiff3
git config --global mergetool.kdiff3.path="D:/Program Files/KDiff3/kdiff3.exe"



repo的用法(zz)

注:repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载、管理Android项目的软件仓库。(也就是说,他是用来管理给git管理的一个个仓库的)

下载 repo 的地址: http://android.git.kernel.org/repo ,可以用以下二者之一来下载 repo

wget http://android.git.kernel.org/repo

或者

curl http://android.git.kernel.org/repo > ~/bin/repo  

下载完成后须修改repo的权限: chmod a+x ~/bin/repo

用repo sync 在抓去 android source code 的时候,会经常出现一些错误导致 repo sync 中断,每次都要手动开始。 可以用如下的命令,来自动重复

$?=1;

while [ $? -ne 0 ] ;

do  repo sync ;

done

获取帮助:

repo help [ command ]   //显示command 的详细的帮助信息内容

示例: repo help init 来获取 repo init 的其他用法

repo init -u URL 用以在当前目录安装 repository ,会在当前目录创建一个目录 ".repo"  -u 参数指定一个URL, 从这个URL 中取得repository 的 manifest 文件。   

示例:repo init -u git://android.git.kernel.org/platform/manifest.git

获取的manifest文件放在.repo目录中。命名为manifest.xml。这个文件的内容其实就是所有被git管理的仓库的列表!

可以用 -m 参数来选择获取 repository 中的某一个特定的 manifest 文件,如果不具体指定,那么表示为默认的 namifest 文件 (default.xml)

repo init -u git://android.git.kernel.org/platform/manifest.git -m dalvik-plus.xml

(有诸多供我们选择的manifest文件,所有的manifest文件都放在目录.repo/manifests中,该目录本身亦被git所管理,你可以cd进去看看)

可以用 -b 参数来指定某个manifest 分支。

repo init -u git://android.git.kernel.org/platform/manifest.git -b release-1.0

你会发现.repo/manifests是个被git管理的仓库,这里放的是所有的manifest文件(*.xml),因为被git管理,固然有分支,-b可以切换到你想要的分支然后再下载相关的xml文件,当然具体下载那个xml还要看-m参数了,所以如果你仅仅指定-b而没有-m的话,就是下载-b指定分支下的default.xml文件

如果不指定-b参数,那么会默认使用master分支

4. repo sync [project-list]

下载最新本地工作文件,更新成功,这本地文件和repository 中的代码是一样的。 可以指定需要更新的project , 如果不指定任何参数,会同步整个所有的项目。

如果是第一次运行 repo sync , 则这个命令相当于 git clone ,会把 repository 中的所有内容都拷贝到本地。 如果不是第一次运行 repo sync , 则相当于 git remote update ;  git rebase origin/branch .  repo sync 会更新 .repo 下面的文件。 如果在merge 的过程中出现冲突, 这需要手动运行  git  rebase --continue

5. repo update[ project-list ]

上传修改的代码 ,如果你本地的代码有所修改,那么在运行 repo sync 的时候,会提示你上传修改的代码,所有修改的代码分支会上传到 Gerrit (基于web 的代码review 系统), Gerrit 受到上传的代码,会转换为一个个变更,从而可以让人们来review 修改的代码。

6. repo diff [ project-list ]

        显示提交的代码和当前工作目录代码之间的差异。

7. repo download  target revision

        下载特定的修改版本到本地, 例如:  repo download pltform/frameworks/base 1241 下载修改版本为 1241 的代码

8. repo start newbranchname .

        创建新的branch分支。 "." 代表当前工作的branch 分支。

9.  repo prune [project list]

        删除已经merge 的 project

10. repo foreach [ project-lists] -c command

       对每一个 project 运行 command 命令

12. repo forall -c

11. repo status

       显示 project 中每个仓库的状态,并打印仓库名称。
SAP CKMLCP 月结7大常见报错:从“未找到成本核算运行”到“物料占用”的完整解决方案 本文深入解析SAP CKMLCP月结过程中的7大常见报错,从权限问题到数据一致性错误,提供系统化的解决方案。重点解决'未找到成本核算运行'和'物料占用'等典型问题,帮助财务人员高效完成成本核算月结,确保数据准确性。 阅读详情

相关推荐

基于PID算法的循迹小车

这一期为创客们带来基于PID算法的循迹小车制作 1.标准赛道示意图: (该赛道包含了:左直角、右直角、十字路口等路况) 2.灰度传感器安装示意图: (可根据实际情况调节各传感器之间的间距) 3.硬件原理图: 4.控制逻辑: 5.程序如下: #define leftA_PIN 7 #define leftB_PIN 6 #define left_Pwm_PIN 5 #define STBY...

qq_44343584的博客 4万+

.repo文件

repo文件是yum仓库的配置文件后缀,通常一个repo文件中可以设置多个yum仓库源,当安装和升级时yum会读取此配置文件,到yum仓库下载所需的rpm包并安装。repo文件存在/etc/yum.repo.d下。yum服务器:将预发的rpm包上传到服务器上并分析此包的依赖包保存到一个清单中。yum客户端:当安装软件时,会先下载清单并分析,再从服务器下载所需的软件包。yum的...

weixin_33810302的博客 5436

EMC(6)——电磁场的屏蔽

假如,机箱没有开口缝隙,比如篮球这种壳体,屏蔽效能都能达到100dB,100dB,基本上把电磁场强度能衰减万倍的关系,所以,这种方式屏蔽效能非常高。一般,钣金机箱,缝隙很大,大家目视就可以看到,铝铣的机箱,比较平整,但实际情况,表面其实也是坑坑洼洼,只是,大家肉眼看不出来而已!这种安装方式,是直接在缝隙增加导电材料,存在一个问题,就是,手法温柔点,压缩度会不够,手法粗暴点,过度压缩。所以,不是说,用金属机箱就能起到屏蔽效果,重要的是,要做好机箱孔缝电磁兼容设计,否则,是金属机箱,也是摆设。

qq_39825125的博客 2179

repo介绍(一)

通过上面我们发现repo只是一个封装了git命令的工具,用来管理好多仓库的一个顶级目录。先下载repo引导器修改引导器的repo网址下载repo工具创建存放default.xml的git仓库repo init初始化repo拉取代码本文章仅供学习交流用禁止用作商业用途,文中内容来水枂微信公众号:zhjj0729。

水枂的博客 5854

RV1126上YOLOv8部署实战:从模型转换到板端推理的完整避坑指南

本文提供了在瑞芯微RV1126芯片上部署YOLOv8目标识别算法的完整实战指南。内容涵盖从模型转换、环境搭建到板端推理代码编写的全流程,重点解析了RKNN-Toolkit使用、量化配置、内存优化及后处理实现等关键环节的常见问题与解决方案,旨在帮助开发者高效避坑,实现边缘AI应用的稳定落地。

pz89012345的博客 567

高通9008模式隐藏技巧:不拆机用ADB命令+Diag协议进入EDL

本文深入解析高通EDL模式(紧急下载模式)的技术原理与实战应用,详细介绍了通过ADB命令和Diag协议无需拆机进入EDL的方法。涵盖硬件/软件触发方案、跨平台工具配置、Firehose协议解析及设备救砖流程,为开发者提供从基础到进阶的完整指南。

weixin_29191761的博客 1121

Repo 使用详解

介绍Repo的安装以及简单使用

AfinalStone的专栏 1万+

最新Python爬虫实战(入门爬虫篇)——案例18:某气象局全国天气预报数据采集(详细爬虫思路截图 + 抓包动图演示+完整爬虫代码+详细注释)

本次案例针对某气象局天气预报网的静态HTML页面,实现了全国各地区天气数据的全自动化爬取,和之前案例17的动态接口爬虫不同,本次案例聚焦于静态页面的爬虫实现,覆盖了从抓包分析、请求模拟、数据解析到数据存储的完整爬虫流程,非常适合入门学习者巩固基础,核心知识点和实现要点总结如下:首先是页面分析的核心逻辑,静态HTML页面的数据爬取,核心在于通过浏览器开发者工具,完成完整的抓包分析和标签结构定位。

努力让自己发光,对的人才能迎着光而来 27万+

repo 详解

Android 使用Git作为代码管理工具,开发了Gerrit进行代码审核以便更好的对代码进行集中式管理,还开发了Repo命令行工具,对Git部分命令封装,将百多个Git库有效的进行组织。一个清单库可以包含多个清单文件和多个分支,每个清单文件和分支都有对应的版本。清单文件以xml格式组织的。remote元素,定义了名为korg的远程版本库,其库的基址为git://172.16.1.31/。

码点 5075

logisim中,如何设计一个位于十字路口的交通信号灯控制系统?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1342

ESP32设备驱动-TM1637-驱动4位7段数码管

TM1637是一款带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集成了MCU数字接口、数据锁存、LED高压驱动、键盘扫描等功能。 TM1637使用DIP20/SOP20封装,主要适用于电磁炉、微波炉、小家电的显示驱动。

视觉与物联智能 2114

Repo工作原理及常用命令总结——2023.07

repo是Android为了方便管理多个git库而开发的Python脚本。repo的出现,并非为了取代git,而是为了让Android开发者更为有效的利用git。Android源码包含数百个git库,仅仅是下载这么多git库就是一项繁重的任务,所以在下载源码时,Android就引入了repo。 Android官方推荐下载repo的方法是通过Linux curl命令,下载完后,为repo脚本添加可执行权限: 由于国内Google访问受限,所以上述命令不一定能下载成功。其实,我们现在可以从很多第三方渠道找到re

我是小bā吖的博客 2960

ESP32-C3入门教程 环境篇②——Windows开发环境准备

文章目录一、注意事项二、下载ESP-IDF工具安装器三、安装内容四、详细安装步骤报错处理 一、注意事项 请注意 ESP-IDF 和 ESP-IDF 工具的安装路径不能超过 90 个字符,安装路径过长可能会导致构建失败。 Python 或 ESP-IDF 的安装路径中一定不能包含空格或括号。 除非操作系统配置为支持 Unicode UTF-8,否则 Python 或 ESP-IDF 的安装路径中也不能包括特殊字符(非 ASCII 码字符、中文字符) 二、下载ESP-IDF工具安装器 ESP-IDF Win

5242

Android学习26--Repo

本文介绍了Android开发中常用的代码管理工具Repo的基本概念和实用操作。Repo是Google开发的Python脚本,用于管理多个Git仓库,通过.repo目录和manifest.xml文件配置各仓库版本。文章详细解析了repo init和repo sync的工作原理,并提供了常用命令示例,如初始化、同步、分支管理等。同时指出Repo在初始化多仓库时非常高效,但在日常开发中可能使用频率不高,因为多数开发者通常只需关注单个仓库的修改。最后作者认为Repo更适合大规模仓库同步场景,而非日常单仓库开发工作。

fanged的专栏 366

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Android repo 学习参考

/*************************************************************************** * Android repo 学习参考 * 说明: * 首先是由于源代码拷贝的问题,将原来的repo源码丢失了,顺便看一下作为使用 * 者,对repo需要掌握到哪些东西。 ...

weixin_34273046的博客 83

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

安卓学习记录----repo

最近开始向安卓系统方向发展,在此做下记录以为日后所需。 刚好手上有一些板子,择其一做研究,选择nanopi2 fire. 步骤参考:wiki,但是其中问题来了,安卓源码下不下来。 mkdir ~/bin && cd ~/bin git clone https://gerrit-googlesource.proxy.ustclug.org/git-repo export PATH=~/bin:$P

yangyifeng01的专栏 306

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Android源码学习(3)Android repo 魔法

(注:本文转载自群英会博客,原文作者蒋鑫。蓝色文字为我的备注) Android 为企业提供一个新的市场,无论大企业,小企业都是处于同一个起跑线上。研究 Android 尤其是 Android 系统核心或者是驱动的开发,首先需要做的就是本地克隆建立一套 Android 版本库管理机制。 Android 使用 Git 作为代码管理工具,开发了 Gerrit 进行代码审核以便更好的对代码

jinxinliu1的专栏 477

2021-07-15 Android repo 使用学习持续更新中

1、repo常用命令 xxx$ .repo/repo/repo help usage: repo COMMAND [ARGS] The most commonly used repo commands are: abandon Permanently abandon a development branch branch View current topic branches branches View current topic bran...

海月汐辰 2987

Android源码学习 使用Git和Repo进行版本管理

Android项目采用Git和Repo进行版本管理。在大多数情况下,Git都可以满足用户的需求。然而,由于Android项目过于庞大,想要简单、高效的管理这一百多个Git库,并不是一件容易的事情。Repo正是基于此需求,对Git命令部分封装,用来简化一些跨网络的操作。 安装Repo 创建repo所在的目录,并将目录加到PATH环境变量中 $ mkdir ~/bin$ PATH

张亮校的专栏 2405

android 源码管理工具repo_android repo

最后这里放上我这段时间复习的资料,这个资料也是偶然一位朋友分享给我的,里面包含了腾讯、字节跳动、阿里、百度2020-2021面试真题解析,并且把每个技术点整理成了视频和PDF(知识脉络 + 诸多细节)。还有高级架构技术进阶脑图、高级进阶架构资料帮助大家学习提升进阶,这里我也免费分享给大家也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。一起互勉~和PDF(知识脉络 + 诸多细节)。还有高级架构技术进阶脑图、高级进阶架构资料。

2401_86964192的博客 1162

Android学习心得(3) --- MAC下Android源代码下载

今天从今天开始,我在博客上发表一些我的Android学习心得,希望对大家能有帮助。 在前一章我们学习了如何进行基本的Android反编译,这一章我们进行Android源代码下载 Android学习心得(1) --- MAC下Android环境的搭建 Android学习心得(2) --- MAC下Android反编译基本的参照官网Setting up a Mac OS X build envir

qiuyu93422的博客 1307

Android源码学习(2)使用Git和Repo进行版本管理

Android项目采用Git和Repo进行版本管理。在大多数情况下,Git都可以满足用户的需求。然而,由于Android项目过于庞大,想要简单、高效的管理这一百多个Git库,并不是一件容易的事情。Repo正是基于此需求,对Git命令部分封装,用来简化一些跨网络的操作。 安装Repo 创建repo所在的目录,并将目录加到PATH环境变量中 $ mkdir ~/bin

jinxinliu1的专栏 1319

【转】Android源码学习(2)使用Git和Repo进行版本管理

原文网址:http://blog.chinaunix.net/uid-26074270-id-2458828.html Android项目采用Git和Repo进行版本管理。在大多数情况下,Git都可以满足用户的需求。然而,由于Android项目过于庞大,想要简单、高效的管理这一百多个Git库,并不是一件容易的事情。Repo正是基于此需求,对Git命令部分封装,用来简化一些跨网络的操作。安装Rep...

weixin_30561177的博客 76
上一篇: kobject_uevent
下一篇: Git diff usage
计算机与认知
博客等级 码龄14年 31粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值