当前位置: 首页 > news >正文

使用git工具管理泰山派内核源码目录及抽打补丁简易流程

目录

使用git工具管理泰山派内核源码目录及抽打补丁简易流程

一、使用git维护源码

二、git 常用的一些操作

三、抽补丁

四、打补丁

五、补充


使用git工具管理泰山派内核源码目录及抽打补丁简易流程

最近,在做linux开发的过程中入手了一块泰山派RK3566的开发板,在官方提供的各种资料中,关于屏幕等等的设备驱动其修改后的设备树文件有使用补丁的方式提供给开发者。学会这种维护修改方式后会十分便捷,以下介绍下使用git工具及抽打补丁的简易流程。

一、使用git维护源码

linux下安装git工具
sudo apt update
sudo apt-get install git
配置用户名
git config --global user.name "your name"
配置用户的邮箱
git config --global user.email "your email"
进入到泰山派SDK下的kernel目录(内核源码目录),这里的目录需要改成自己的泰山派内核源码目录
cd ~/tspi/tspi_linux_sdk/kernel
创建一个新的本地git仓库
git init
创建完成后,当前的kernel目录下会出现个.git的隐藏文件,使用ls -a可查看
ls -a
添加文件到暂存区,git add + 文件名(单独添加一个文件);git add + .(.表示添加目录下所有文件)
git add .
查看仓库状态
git status
提交更改到仓库
git commit -m "git init V1.0.0"
提交完成后,查看仓库状态
git status
切换到内核下的瑞芯微的设备树文件所在目录下,准备修改相关设备树文件
cd ~/tspi/tspi_linux_sdk/kernel/arch/arm64/boot/dts/rockchip
假设我这里是修改了tspi-rk3566-dsi-v10.dtsi设备树头文件及tspi-rk3566-user-v10-linux.dts设备树源文件来适配MIPI屏的相关内容。
修改完设备树文件后,查看仓库状态
git status
查看修改前后的区别
git diff
将修改保存为补丁文件,也就是抽补丁
git diff > mypatch.patch
把修改后的设备树头文件重新添加到暂存区
git add arch/arm64/boot/dts/rockchip/tspi-rk3566-dsi-v10.dtsi
把修改后的设备树源文件重新添加到暂存区
git add arch/arm64/boot/dts/rockchip/tspi-rk3566-user-v10-linux.dts
提交到仓库
git commit -m "V1.0.1"

二、git 常用的一些操作

查看提交历史
git log
撤销更改
git checkout + 文件名
拉取代码
git pull + 远程仓库名 分支名
推送代码
git push + 远程仓库名 分支名

三、抽补丁

抽补丁
git diff > mypatch.patch

四、打补丁

打补丁
patch -p1 < mypatch.patch

五、补充

以上介绍的是使用git维护源码的一些基本操作,想要深度学习其用法的可以参考以下链接:
https://www.yiibai.com/git

相关文章:

  • 【SpringCloud】 微服务分布式环境下的事务问题,seata大合集
  • STM32智能工业监控系统教程
  • 乾坤: 微前端项目切换时样式闪动(从无样式变为正常样式需要等 css chunk 文件加载完成, 加载延时受网速影响)
  • Apache Nifi挂接MQTT与Kafka实践
  • 认知觉醒:铸就非凡人生的进阶之路
  • 单例模式懒汉模式和饿汉模式
  • 2024年【甘肃省安全员B证】考试资料及甘肃省安全员B证模拟试题
  • 探索 SPL-404 协议标准:NFT 与 DeFi 的融合
  • spring框架实现滑动验证码功能
  • Java修炼 Java SE 面试题目 (简答) 2024.7.26 22:16
  • .net core docker部署教程和细节问题
  • 安防视频监控EasyCVR视频汇聚平台修改配置后无法启动的原因排查与解决
  • Java 扫雷游戏
  • Java:swagger/knife4j接口返回的json数据中文显示乱码问号???
  • OpenAI发布GPT-4 Mini的深度分析及中国大模型的弯道超车机会
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • Android优雅地处理按钮重复点击
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • HTTP中的ETag在移动客户端的应用
  • javascript数组去重/查找/插入/删除
  • Java基本数据类型之Number
  • Python socket服务器端、客户端传送信息
  • Python 反序列化安全问题(二)
  • scrapy学习之路4(itemloder的使用)
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • TCP拥塞控制
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 半理解系列--Promise的进化史
  • 对JS继承的一点思考
  • 关于Flux,Vuex,Redux的思考
  • 力扣(LeetCode)357
  • 码农张的Bug人生 - 初来乍到
  • 浅谈Golang中select的用法
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 小程序button引导用户授权
  • 译有关态射的一切
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • # Java NIO(一)FileChannel
  • # Panda3d 碰撞检测系统介绍
  • # 透过事物看本质的能力怎么培养?
  • #1015 : KMP算法
  • #HarmonyOS:Web组件的使用
  • (31)对象的克隆
  • (6)设计一个TimeMap
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (SpringBoot)第二章:Spring创建和使用
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (一)项目实践-利用Appdesigner制作目标跟踪仿真软件
  • (转)四层和七层负载均衡的区别
  • (转)用.Net的File控件上传文件的解决方案
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞