git相关及repo

一.Git相关的概念区分

git相关及repo_第1张图片

 

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开放源代码

关系见右图git相关及repo_第2张图片

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命令的工作流如下

git相关及repo_第3张图片

 

 

你可能感兴趣的:(git,devops)