1 创建多个git库。我是在公司内部git网站上创建的。
git@192.168.*.*:**/**/MyManifest.git (重要:配置下载内容)
git@192.168.*.*:**/**/MyProject0.git
git@192.168.*.*:**/**/MyProject1.git
git@192.168.*.*:**/**/MyProject2.git
2 编写manifest内的default.xml。repo管理git库的配置文件,配置文件其他属性自行查找
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="origin"
fetch="../.." /> (可以写成git@192.168.*.*:**/ 这里../..是相对路径的写法)
<default revision="master" remote="origin" />
<project path="MP" name="**/MyProject0" />
<project path="MP/P1" name="**/MyProject1" />
<project path="MP/P2" name="**/MyProject2" />
</manifest>
3 在网上下载一个原始的repo脚本
百度中就能找到,国内有下载的网点,貌似有一个是清华的
4 写入环境变量
export PATH=$PATH:repo所在位置 (当前用户临时使用, 通过 vi /etc/profile可全局使用)
5 在有网的情况下执行
repo init -u git@192.168.*.*:**/**/MyManifest.git
可以初始化repo库,会生成.repo目录,这里会自动下载两个文件,具体什么用,不太清楚,大概是扩展repo脚本。我用的是代理,多执行几次这条命令,才会成功。
6 repo sync 同步代码
会根据.repo/manifest.xml(default.xml)同步代码,并在.repo内生成一些文件
.repo/manifests与git@192.168.*.*:**/**/MyManifest.git同步
.repo/manifest.xml是由default.xml生成,同步代码时通过.repo/manifest.xml来完成
7 控制default.xml,同步不同代码
编写default.xml,提交到MyManifest.git不同分支,每次使用通过git下载不同版本的default.xml,然后替换.repo/manifest.xml。执行repo sync
我在配置两台服务器的repo,一台有网(代理上网),一台无网
没有网那台服务器配置方法
有网的那台服务器上已经有最原始的repo脚本,将它考过来,加入环境变量
有网的机器在执行网repo init ****** 之后生成的.repo(init之后的.repo只有几M,如果执行完repo sync代码同步后 .repo文件会很大),考过来,放到要下载代码的目录内,之后直接执行repo sync,就可以同步代码了