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

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

软件架构

640.png

manifest是打算用repo管理所有git仓库

app 应用层,例如led点灯应用侧程序

drv 自己开发的驱动程序,放到一个仓,方便以后移植

在gerrit创建项目

640.png

对应下载链接

git clone ssh://zrc@114.132.213.22:29418/manifestgit clone ssh://zrc@114.132.213.22:29418/appgit clone ssh://zrc@114.132.213.22:29418/ubootgit clone ssh://zrc@114.132.213.22:29418/kernelgit clone ssh://zrc@114.132.213.22:29418/rootfsgit clone ssh://zrc@114.132.213.22:29418/drv

下载manifest仓

使用git clone命令下载后,输入ls -al能查看到有个.repo目录,这是隐藏文件,进入该目录下有个manifests文件夹,再进入,创建一个xxx.xml文件。

640.png

编写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 commitgit push

到这里其实基本上算是搭建好了, 可以尝试用repo去下载了。

使用repo init初始化代码仓

初始化完之后会有.repo目录

640.png

使用repo sync -c同步代码

-j参数表示线程数

5da1f9f2dedf6ea199e4683e2be4b9f.png

最后同步完可以看到xml文件里的仓库都下载下来了

8b05debd5f223815868473c1184ad85.png

如果我们要下载某个仓,也可以通过repo sync 路径来下载某个仓。

单仓下载

4b17ece47e4d38d72026fd0a98ca96b.png

提交代码的步骤

repo start 分支名 .git add .git commitrepo upload

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

号主:一枚机械专业本科生,经历了转行,从外包逆袭到芯片原厂的Linux驱动开发工程师,深入操作系统的世界,贯彻终身学习、终身成长的理念。平时喜欢折腾,寒冬之下,抱团取暖,期待你来一起探讨技术、搞自媒体副业,程序员接单和投资理财。【对了,不定期送闲置开发板、书籍、键盘等等】。

如果你想了解我的转行经验,欢迎找我交流~gongzhong号【哆哆jarvis】

一起不断探索自我、走出迷茫、找到热爱,希望和你成为朋友,一起成长~


相关文章
|
XML 存储 开发工具
|
6月前
|
人工智能 前端开发 Java
用git rebase命令合并开发阶段中多条commit提交记录
通过 `git rebase`,可以合并多个提交记录,使开发历史更简洁清晰。操作分为 6 步:查看提交历史 (`git log --oneline`)、设置需合并的提交数 (`git rebase -i HEAD~N`)、修改动作标识为 `s`(squash)、保存退出编辑、调整提交信息、强制推送至远程仓库 (`git push -f`)。此方法适合清理本地无关提交,但若有团队协作或冲突风险,需谨慎使用以避免问题。
798 60
|
10月前
|
JavaScript 前端开发 开发者
JavaScript框架React vs. Vue:一场性能与易用性的较量
JavaScript框架React vs. Vue:一场性能与易用性的较量
229 0
|
Web App开发 域名解析 JSON
HTTP 及 http 请求解析过程
HTTP 及 http 请求解析过程
237 4
|
IDE 搜索推荐 开发工具
|
前端开发 JavaScript 测试技术
自动化测试定位方式那么多,应该选哪个?
本文介绍了移动应用自动化测试中的定位策略,包括 ID、XPath、ClassName、AccessibilityID、Name、XPath 模糊定位、Android UI Automator、iOS Predicate 等。在Web测试中,使用class name、css selector、id等定位元素。选择定位器应遵循与研发约定、优先使用特定属性及组合定位的原则。当元素定位不到时,可能因定位信息错误、元素状态等问题,可通过调整策略、等待元素加载或使用JS操作解决。特殊控件如弹框、下拉框等,需采用特定方法如JS注入或send_keys()处理。
|
编译器
正点原子IMX6ULL-安装交叉编译器、编译tslib触摸屏库、编译arm环境qt源代码
正点原子IMX6ULL-安装交叉编译器、编译tslib触摸屏库、编译arm环境qt源代码
612 0
|
编译器 测试技术 调度
C++ 中 template<class T>和template<typename T>的区别
C++ 中 template<class T>和template<typename T>的区别
656 0
|
XML Android开发 数据格式
Dialog里面用ComposeView竟会直接闪退?深挖Lifecycle与Compose的爱恨情仇
Dialog里面用ComposeView竟会直接闪退?深挖Lifecycle与Compose的爱恨情仇
465 0