遵义到万州汽车时刻表: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