嵌入式 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
相关推荐
java_logo3 分钟前
MySQL Server Docker 容器化部署指南
linux·运维·数据库·docker·容器
还下着雨ZG8 分钟前
Git:版本控制工具Git的详细介绍
git
誰能久伴不乏15 分钟前
Linux文件套接字AF_UNIX
linux·服务器·c语言·c++·unix
老友記26 分钟前
git 预发布版本release分支
git
a413244726 分钟前
如何解决centos上oracle连接问题
linux·oracle·centos
h***346327 分钟前
在linux(Centos)中Mysql的端口修改保姆级教程
linux·mysql·centos
星释27 分钟前
Rust 练习册 97:Run-Length Encoding 压缩算法
java·linux·rust
2509_9408802229 分钟前
Linux(CentOS)安装 MySQL
linux·mysql·centos
可爱又迷人的反派角色“yang”32 分钟前
LVS+Keepalived群集
linux·运维·服务器·前端·nginx·lvs
n***271939 分钟前
【MySQL数据库】Ubuntu下的mysql
数据库·mysql·ubuntu