zl程序教程

您现在的位置是:首页 >  其他

当前栏目

使用repo+gerrit,基于IMX6ULL开发自己的项目

项目开发 使用 基于 自己 repo IMX6ULL
2023-06-13 09:11:20 时间

软件架构

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

整个代码下载 提交的过程十分简单方便,你学废了吗?