移植前准备之git管理内核源码

我们前边已经介绍过Git工具,是一个非常实用的代码管理工具。如果验证编译出的内核能够正常启动,就可以将源码用git工具管理起来。可以清楚的了解源码改动记录。如果不小心把源码改乱了还可以进行版本回退,否则的话就只能重新解压源码了。重新解压源码之前的配置还得重新来一遍那就太麻烦了。所以建议源码一定要使用Git工具管理起来。

前面开发环境搭建章节已经详细讲解了Git工具的工作流程,本节只讲解git的实际应用。

源码清理

首先把源码的中间文件清理掉,不对中间文件进行管理:

cs 复制代码
elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ source /opt/fsl-imx-x11/4.1.15-2.0.\0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ make distclean

初始化git仓库

cs 复制代码
elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ git init

查看.gitignore

由于编译过程中会产生大量中间文件,管理这些中间文件会造成部分空间浪费,因此引入了.gitignore文件,.gitignore当中描述的文件在git进行版本管理时会被忽略,在github上下载的源码默认是带.gitignore文件的,其中的内容如下(由于该文件内容比较多,只截取了部分):

cs 复制代码
elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ vim .gitignore

添加到暂存区

将源码目录下的所有文件添加到暂存区:

cs 复制代码
elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ git add .

提交当前记录

cs 复制代码
elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ git commit -m "ELFBoard matse\r init"

查看提交记录

cs 复制代码
elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ git log

查看当前分支

cs 复制代码
 href="mailto:elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$" elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ git branch

创建分支

在当前git仓库新建一个分支用于适配ElfBoard的外设:

cs 复制代码
elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ git branch ELFBoard

切换到ELFBoard分支:

cs 复制代码
elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ git checkout ELFBoard

再次查看当前分支

cs 复制代码
elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ git branch
相关推荐
笑鸿的学习笔记39 分钟前
git笔记之默认使用vim以及修改倒数第二次的commit提交信息到远程
笔记·git·vim
Howrun77740 分钟前
Git从入门到精通
git·gitee
二哈喇子!1 小时前
Git下载安装教程
git·github
亮子AI1 小时前
【NestJS】为什么return不返回客户端?
前端·javascript·git·nestjs
Codeking__12 小时前
Redis——基本通用命令
redis·git·github
Dontla16 小时前
Git error: fatal: detected dubious ownership in repository at xxx
git
论迹17 小时前
【Git】-- 多人协作
git·ubuntu
roamingcode18 小时前
从混沌到秩序:Git Diff 结构化报告的 Claude Code Skill 实践
人工智能·git·agent·skill·claude code·领域知识包·ai经验复用
ss27320 小时前
idea中git更新项目:将传入更改合并到当前分支,在传入更改上变基当前分支
java·git·intellij-idea
hopsky20 小时前
好用!Git 同时开发多个分支
git