软件架构
manifest是打算用repo管理所有git仓库
app 应用层,例如led点灯应用侧程序
drv 自己开发的驱动程序,放到一个仓,方便以后移植
在gerrit创建项目
对应下载链接
git clone ssh://zrc@114.132.213.22:29418/manifest
git clone ssh://zrc@114.132.213.22:29418/app
git clone ssh://zrc@114.132.213.22:29418/uboot
git clone ssh://zrc@114.132.213.22:29418/kernel
git clone ssh://zrc@114.132.213.22:29418/rootfs
git clone ssh://zrc@114.132.213.22:29418/drv
下载manifest仓
使用git clone命令下载后,输入ls -al能查看到有个.repo目录,这是隐藏文件,进入该目录下有个manifests文件夹,再进入,创建一个xxx.xml文件。
编写xml文件
repo就是通过该xml文件管理所有的git仓。
<manifest>
<remote name="origin"
fetch="ssh://zrc@114.132.213.22:29418"
review="ssh://zrc@114.132.213.22:29418" /><!--fetch=".." 代表使用 repo init -u 指定的相对路径 也可用完整路径,example:https://gitee.com/MarineJ/manifest_example/blob/master/default.xml-->
<default remote="origin"
revision="master"
sync-j="8"/><!--revision为默认的拉取分支,后续提pr也以revision为默认目标分支-->
<project path="uboot" name="uboot" />
<project path="kernel" name="kernel" />
<project path="drv" name="drv" />
<project path="rootfs" name="rootfs" />
<project path="app" name="app" />
</manifest>
提交manifest仓的修改
git add .
git commit
git push
到这里其实基本上算是搭建好了, 可以尝试用repo去下载了。
使用repo init初始化代码仓
初始化完之后会有.repo目录
使用repo sync -c同步代码
-j参数表示线程数
最后同步完可以看到xml文件里的仓库都下载下来了
如果我们要下载某个仓,也可以通过repo sync 路径来下载某个仓。
单仓下载
提交代码的步骤
repo start 分支名 .
git add .
git commit
repo upload
整个代码下载 提交的过程十分简单方便,你学废了吗?