嵌入式 linux Git常用命令 抽补丁 打补丁

Git常用命令

为什么要学习git呢?我相信刚入门的小伙伴敲打肯定碰到过这种玄学问题,我明明刚刚还能用的代码,后面不知道咋的就不能用了,所以每次你调出一个功能点以后都会手动复制一份代码防止出问题,时间一长发现整个目录全是你复制的乱七八糟的版本头大炸了,Git工具完美的解决了这些问题。这里简单的列出几个git优点。

1. 解决代码管理混乱的问题:

在开发中,我们常常需要调整代码或尝试新功能。如果不小心改坏了代码,可能会导致项目无法运行。如果每次都手动备份代码,文件夹会很快变得杂乱不堪。Git 通过强大的版本控制能力,帮助你保存每次修改,随时回退到以前的状态,让开发更加放心。

2. 提高团队协作效率:

多人协作开发时,代码冲突是不可避免的。如果没有工具管理版本和冲突,项目进度会被严重拖慢。Git 提供了高效的分支合并机制,能清晰地展示每位成员的修改,帮助团队快速解决冲突并同步代码。

3. 支持远程工作:

Git 与远程仓库(如 GitHub、GitLab 等)无缝集成,支持跨地域的多人协作,即使团队成员分布在不同的城市,也能高效合作。

步骤1:安装 Git

bash 复制代码
sudo apt update
sudo apt install git

步骤2:配置 Git

在使用 Git 之前,需要配置用户名和电子邮件地址(如果不提交远程可以随便配置):

在终端中,运行以下命令来设置你的用户名:

bash 复制代码
git config --global user.name "你的用户名"

运行以下命令来设置你的电子邮件地址:

bash 复制代码
git config --global user.email "你的电子邮件地址"

步骤3:创建和克隆仓库

在终端中,进入要创建仓库的目录或选择要克隆仓库的目录。

创建一个新的本地 Git 仓库:

bash 复制代码
git init

克隆一个远程 Git 仓库(如果已存在):

bash 复制代码
git clone 远程仓库的 URL

步骤4:常用 Git 命令

查看仓库状态:

bash 复制代码
git status

添加文件到暂存区:

bash 复制代码
git add 文件名

提交更改到仓库:

bash 复制代码
git commit -m "提交信息"

查看提交历史:

bash 复制代码
git log

创建新分支:

bash 复制代码
git branch 分支名

切换到分支:

bash 复制代码
git checkout 分支名

步骤5:推送和拉取代码

推送和拉取代码是与远程仓库进行交互的关键操作。

推送代码:

bash 复制代码
git push 远程仓库名 分支名

拉取代码:

bash 复制代码
git pull 远程仓库名 分支名

步骤6:撤销更改

有时你可能需要撤销之前的更改或回退到之前的版本。

撤销对文件的修改:

bash 复制代码
git checkout 文件名

补丁

之前我们学习梁山派等单片机的时候,给其他人分享代码都是整个工程直接复制的,包括我们提供的案例也是基本一个功能对应一个工程,但Linux和Android的SDK是非常庞大的如果我们给其他人分享代码也是通过拷贝SDK那真的要累死个球。在本次训练营中我们后面给大家分享特定功能代码的时候也会通过补丁方式提供。

抽补丁

创建一个新的本地 Git 仓库:

bash 复制代码
git init

添加文件到暂存区:

bash 复制代码
git add 文件名

提交更改到仓库:

bash 复制代码
git commit -m "提交信息"

抽补丁:

bash 复制代码
git diff > my_patch_name.patch

打补丁

bash 复制代码
patch < my_patch_name.patch
相关推荐
一颗青果4 小时前
HTTP协议详解
linux·网络·网络协议·http
广州灵眸科技有限公司7 小时前
瑞芯微(EASY EAI)RV1126B CAN使用
linux·网络·单片机·嵌入式硬件
老师你好ss7 小时前
在VMware16中安装Ubuntu18.04
ubuntu
SmartRadio7 小时前
CH584M vs nRF52840 vs 主流BLE SoC全面对比
单片机·嵌入式硬件·mcu·物联网·开源·硬件工程
魂万劫10 小时前
如何在虚拟机VM上|Linux环境内安装windows
linux·运维·服务器·windows
序属秋秋秋10 小时前
《Linux系统编程之进程控制》【进程等待】
linux·c语言·c++·进程·系统编程·进程控制·进程等待
zfj32110 小时前
top 命令中的 wa (IO wait) 指标,理论上几乎完全是由磁盘IO(包括swap)引起的,而不是网络IO
linux·网络·top·iowait
Xの哲學10 小时前
Linux网卡注册流程深度解析: 从硬件探测到网络栈
linux·服务器·网络·算法·边缘计算
用户61354114601610 小时前
libicu-62.1-6.ky10.x86_64.rpm 安装步骤详解(麒麟V10系统)
linux
秋42712 小时前
防火墙基本介绍与使用
linux·网络协议·安全·网络安全·架构·系统安全