遵义到万州汽车时刻表:Android:Git、Repo、Gerrit服务器架构Android代码库
来源:百度文库 编辑:偶看新闻 时间:2024/04/27 22:09:55
什么是git
Git是什么,刚才在网上看到“目前Django的SVN存储库已经有了Git的克隆版本,用户可以在Git存储库中随时获取Django的最新开发代码”,很是好奇.”Git 是 Linus Torvalds 一开始为 Linux Kernel 开发设计的一个版本控制系统,目前已经完善起来”
它的特点是:
1. 不再是中央服务器模式。
2. 运行速度非常快。
3. 为方便各个分支进行合并有特殊支持。
什么是Repo
因为Android是由kernel、Dalvik、Bionic、prebuilt、build等多个Git项目组成,所以Android项目编写了一个名为Repo的Python的脚本来统一管理这些项目的仓库,使得Git的使用更加简单。
什么是Gerrit
Gerrit 是一个基于 Web 的代码评审和项目管理的工具,面向基于 Git 版本控制系统的项目。
配置Git-daemon
1. 安装
sudo apt-get install git-daemon-run
2. 创建git trees
sudo mkdir /pub
cd /pub
sudo mkdir gittrees
chmod 777 -R *
2. 修改run
/usr/lib/git-core/git-daemon –export-all –enable=upload-pack –enable=upload-archive –enable=receive-pack –verbose –base-path=/pub/gittrees /pub/gittrees
–export-all 导出所有共享目录
–base-path 镜像仓库地址
3. 重新启动git-daemon
sudo sv restart git-daemon
制作Android代码镜像
cd ~
mkdir bin
cd bin
wget http://android.git.kernel.org/repo
chmod +x repo
gedit ~/.bashrc
添加一行export PATH=$PATH:~/bin
source ~/.bashrc
cd /pub/gittrees
mkdir mirror
cd mirror
repo init -u git://android.git.kernel.org/platform/manifest.git –mirror
repo sync
创建本地代码服务器
cd /pub/gittrees
mkdir repository
cd repository
repo init -u git://127.0.0.1/mirror/platform/manifest.git –mirror
修改.repo/manifest.xml
- fetch=”git://android.git.kernel.org/”
+ fetch=”git://127.0.0.1/mirror/”
repo sync