使用 repo 和 git 管理工程代码
代码版本控制工具
代码版本控制工具很多,svn git 是比较常用的. Android 采用 Git + repo 来管理源代码,git 管理各个项目的源代码,可以清晰的记录修改历史和版本 branch 和 tag .整个工程用 repo 系统的管理,使用 repo ,开发者可以一次性的利用脚本将所有的 Android 项目代码下载到本地进行开发.
服务器代码下载
参考:
http://blog.csdn.net/jingxia2008/article/details/7761740 详细介绍了 repo 下载的部分.
从 Google 的代码构建自己的 Android 源代码仓库
下载代码的时候可以使用 repo 构建本地 Android 源代码仓库,使局域网内的其他开发者可以直接从当前的源代码仓库获取自己需要的版本
只需要加上 --mirror 即可:
--mirror mirror the forrest
从已经下载的代码构建 repo 仓库
下载的代码里面依然包含了所有的 Android 代码和仓库信息,我们可以基于这个代码从新构建 Android 的源代码仓库:
jiangxd@arm-tools-server:/media/SAMBA/liuxin/Android-4.0.4_r2.1$ ls
abi bootable cts development docs frameworks libcore ndk prebuilt system
bionic build dalvik device external hardware Makefile packages sdk
首先从 repo 库里面提取 manifest
jiangxd@arm-tools-server:/media/SAMBA/liuxin/Android-4.0.4_r2.1$ git clone --bare .repo/manifests/
Initialized empty Git repository in /media/SAMBA/liuxin/Android-4.0.4_r2.1/manifests.git/
此时 repo init 可以找到地址 .但是无法下载代码,需要将所有的 git 仓库全部 init --bare 成为 bare 仓库
然后就可以下载代码了.当然这是一个麻烦的事情,建议使用 mirror 镜像一个可用的仓库.
Git 仓库的创建
创建 Git 仓库比 repo 方便很多,你可以直接从任何源码库创建一个可用的仓库甚至是 bare 仓库,只需要在 git clone 添加 --bare 参数即可.
git clone 创建的仓库默认是 master 分支,你可以使用 -b + branchname 指定分支名,这样仅仅对 branch 与 master 不在同一位置有效.