git相关及repo

博客主要介绍了Git相关概念,包括Git、Github、Gitlab、Gerrit和Repo等工具的特点与用途。其中Repo用于管理多个Git库,可简化安卓源码管理。还阐述了Repo仓库、Manifest仓库和AOSP子项目仓库的关系,并介绍了repo init、repo sync、repo start等常用命令的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.Git相关的概念区分

 

Git相关
1.Git : 代码仓库,工具
2.Github:基于git实现的在线代码仓库,向所有人开放,开源,私人的库需要付钱
3.Gitlab:基于git实现的在线代码仓库,在git基础上搭建起来的web服务,可以看成是git的web界面,胜在自身免费,相当于小型的免费的github
4.Gerrit:基于git的,在 Web端进行代码评审和项目管理的工具
5.Repo:多个库的管理工具,由一系列python脚本组成,简化对多个Git版本库的管理
Git管理单独的模块,而repo管理所有的Git库

repo
全套Android源码很大,如果放在一个库,下载下来就爆了,因此将整个安卓源码按模块分成多个库 --(AOSP是由许许多多有Git管理的项目组成,每一个项目都是一个独立的Git仓库)
但是需要一套完整的源码才能编译出一个版本(如果要新建一个库的分支,需要到每一个子项目里创建对应分支,手动创建够呛,因此有了repo,集成git的命令,完成自己的功能)

仓库介绍
Repo仓库:存放Python脚本(每次执行Repo命令的时候,Repo仓库都会对自己进行一次更新)
Manifest仓库:所有AOSP子项目仓库的元信息(AOSP都包含有哪些子项目,并且要知道这些子项目的名称、仓库地址是什么等)
AOSP子项目仓库:Android开放源代码

关系见右图

Gerrit:本地 Git 提交代码 review 到 Gerrit,在 Gerrit 上做 Code Review,如果 commit 通过则直接 merge 到分支

二.Repo使用

repo init:将代码库里的repo脚本取下来,同时将mainfest文件取到本地
-u:指定一个URL
-b:指定某个manifest分支

repo sync:根据mainfest文件,将代码库代码同步到本地
-j:开启多线程同步操作,截图面令开启8线程
-c: –current-branch:只同步指定的远程分支
-q: quite

repo start:为指定的项目或者所有项目,创建并切换分支

其他repo用法可以自己网上查

Repo命令的工作流如下

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值