学习目标:
学习如何提交代码到Android源代码仓库
学习内容:
1、 了解repo的原理
repo是一个python脚本,整个AOSP代码是由大量的git仓库构成,repo就是用来管理这些git仓库的工具,整个AOSP的所有仓库下载地址和分支都保存在.repo/manifest.git这个仓库里面,这个仓库是在执行repo init命令后从远程代码服务器下载下来的,repo sync命令执行的过程中就是根据.repo/manifest.xml来下载里面定义的仓库的对应分支代码到本地。
2、 了解gerrit服务器
gerrit服务器是类似reviwboard的一种代码review服务器,将修改提交到gerrit服务器后会生成一个链接,就是所谓的gerrit,将链接发给对应模块的负责人review,review通过后加分,当加分满足gerrit服务器设置的合入条件时,可以找具有merge权限的人将gerrit合入代码仓。
3、 了解如何下载代码仓
- repo sync方式
首先,repo init -u xxx -m xxx
其次, repo sync -c
这种适合下载整个代码仓
查看某个仓库的分支信息:repo info .
- git clone方式
git clone ssh://username@gerrit.xxx.com/project-name.git -b upstream-or-revision
这种适合下载单仓
4、 了解如何将修改提交到gerrit服务器
-
repo upload方式
– 修改代码
– git add .
– git commit
– repo upload .
这种只适合使用repo sync下载的代码仓 -
git push方式
– 修改代码
– git add .
– git commit
– git push origin refs/for/branch
这种提交方式支持repo sync下载的和git clone下载的代码仓