git repo gerrit 的关系
Git作为一个版本控制工具,功能很强大,新建分支,切换分支都很快,小团队用Git就能很好地管理好了,但如果是Android系统如此庞大的工程呢,我们知道全套Android源码是很大很大的,目录结构也很复杂,如果直接将其init成一个Git库,简直是灾难,也不符合解耦的要求。
要知道Git是无法将整个库中间的某个目录单独clone出来的,这样如果我只是负责frameworks的,但我下代码的时候却得把整个都下下来。
那怎么办呢,很简单,分模块嘛,比如就把根目录下的每个目录当做一个单独的Git库,这样开发只要专注于自己的模块就行,其他模块的代码就当看不见。嗯,很好,问题似乎解决了。但这样还不够,你总得有一套完整的Android 源码才能编译出一个版本吧,你怎么知道这个大版本里包含了哪个库呢,有人会说,为啥要记录呢,不就这么些库嘛,依次取出来不就行了。或许对于我们工作中接触到的工程规模来说,这样是够了,但Android,都已经7.1.1了,相比较一开始,Android本身也发生了翻天覆地的变化,有些模块在演进过程中可能就渐渐被抛弃了,这个时候我们就需要一个定义一个文件去记录每一个版本的Android到底用了哪些库。
以上其实就是repo的原理和所解决的问题。
总结一下,Git管理单独的模块,而repo管理所有的Git库,将多个Git库组合在一起,形成一个完整的大版本。
git 和 repo 的关系
https://blog.csdn.net/qugename/article/details/57463951
git repo gerrit 三者的关系
https://blog.csdn.net/pen_cil/article/details/79762722
https://blog.csdn.net/edhroyal/article/details/9023555
https://blog.csdn.net/u010164190/article/details/67639765
git repo gerrit 的关系的更多相关文章
- gitlab & gerrit & git & repo & jenkins
Omnibus GitLab documentation(中文安装说明) 在自己的服务器上部署 GitLab 社区版->较为全面 GIT & REPO & GERRIT (三) ...
- GIT+Gitolite+Gerrit 环境搭建 ***
系统环境:Ubuntu12.04 服务器上安装git+gitolite+gitweb root@server: 为搭建git服务器终端,假设ID为 192.168.199.117 或域名为: http ...
- git/repo常用命令
Git作为广受欢迎的一款版本控制工具,它该如何通过命令行使用呢?本文为你揭晓浓缩精华精华版:git常用命令一览,含部分repo操作. 代码下载 repo init -- -->初始化需要下载的分 ...
- 如何清洗 Git Repo 代码仓库
git prune 如何清洗 Git Repo 代码仓库 在腾讯云上创建您的SQL Cluster>>> » 相信不少团队的代码仓库 Git Repo 变得越来越大. ...
- how to make a git repo un-git?
If you have a git repo and now you want to make it a plain filesystem tree .. (removing the git trac ...
- git repo代码部署策略及工具
一般在项目或者产品开发流程中,先是开发人员在本地做好开发及测试,其中可能包含很多用于测试用的目录以及源代码文件,在部署前往往会有一个build过程.web项目最终build产生出优化生产环境下减少ht ...
- 如何使用 vue-cli 3 的 preset 打造基于 git repo 的前端项目模板
vue-cli 之 Preset vue-cli 插件开发指南 TLDR 背景介绍 vue-cli 3 完全推翻了 vue-cli 2 的整体架构设计,所以当你需要给组里定制一份基于 vue-cli ...
- git和github的关系以及简单易懂的理解
git和github的关系 写在前面:我身边好多人问我git和github的区别,想必对于好多人没学过的大佬们恐怕也是一脸懵逼,但是不知道也是不行的,所以我今天就来讲一讲这二者的区别和联系. 用一 ...
- Android调试非常有用的命令集1_adb&aapt&git&repo&scp&while
Linux部分场景非常有用的命令集_1_持续更新 这里面也包含了对于开发调试有用的命令,也可以看看. 这里不做详细说明或截图,仅作为记录和简单说明.注:可能只针对某一命令部分功能,不包含整个功能,若要 ...
随机推荐
- C#图片上传获取二进制流保存至AD
<form id="form1" runat="server"> <div> <asp:FileUpload ID="F ...
- SpringBoot显式事务
参考:https://www.jianshu.com/p/f5fc14bde8a0 后续测试代码的完整项目:https://files.cnblogs.com/files/hellohello/dem ...
- 获取PHP页面的当前文件名(包括后缀名)
// $curPhp = substr($_SERVER['PHP_SELF'],strripos($_SERVER['PHP_SELF'],'/')+1); // print_r($_SERVER[ ...
- ob缓存的基本使用
在页面 加载的时候 如果 图片 很多 很大 会造成页面的阻塞降低用户体验 我们在点击页面的时候可以使用OB缓存 整个页面, 当用户点击的时候直接请求的是我们预先准备好的html页面 .也降低了我们数据 ...
- Roads in the North POJ - 2631
Roads in the North POJ - 2631 Building and maintaining roads among communities in the far North is a ...
- Codeforces Round #524 (Div. 2) C. Masha and two friends 思路
题目:题目链接 思路:直接计数显然是不好处理的,但分情况讨论只要不写错这题是一定可以出的,但这样基本做完这个题就没时间做其他题了,但当时我就这么蠢的这样做了,比赛一个半小时的时候突然发现一个似乎可行的 ...
- poj2955:Brackets
Brackets Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8716 Accepted: 4660 Descript ...
- dotnet core 2.2 安装后在vs2017中无法选择 dotnet core 2.2 为目标框架
可能有效的解决方案: 无法完全保证有效,因为我本地装上没问题,只帮同事解决过一次,貌似有效 方案就是多装几个 .net core 2.2.xxx 版本,然后可能就正常识别了. 在安装之前,先把 vs ...
- oracle 迭代查询
Oracle 迭代查询, 以后台菜单作为示例 这是要准备的sql create table tbl_menu( id number primary key, parent_id , name ) no ...
- 项目管理者必知:适用于仪表盘项目的7个优秀JavaScript库
仪表盘是用于目标或业务流程的视觉指示工具,也用于切割杂乱无章的数据,从而分割出要点的重要工具.它可以帮助评估信息并及时做出正确的决定,一款实时可视化的仪表盘通常由图标.测绘图.图形符号以及数据表格等组 ...