欢迎光临
我们一直在努力

嵌入式工程 Git 从0到1实战操作

在嵌入式开发中,很多新手习惯用 U 盘或网盘备份代码,导致版本混乱、文件丢失、协作困难。当项目规模扩大,多人同时开发时,这种方式完全无法满足需求。Git 是目前最常用的分布式版本控制工具,能有效管理代码版本,支持团队协作。本文结合嵌入式工程特点,讲解 Git 的基础使用方法,从环境配置到第一次提交,覆盖日常开发中 90% 的常用操作。

一、环境准备:Git 安装与 SSH 配置

1.1 Git 安装

  • Windows 系统
  • :从 Git 官网下载安装包,默认选项安装即可。安装完成后,右键菜单会出现 "Git Bash Here" 选项。
  • Linux 系统:通过包管理器安装,Ubuntu 执行sudo apt install git,CentOS 执行sudo yum install git。

安装完成后,打开 Git Bash,执行git –version,显示版本号即安装成功。

1.2 配置全局用户信息

按住shift键的同时点击鼠标右键选择open git bash

第一次使用 Git 前,需要配置用户名称和邮箱,这些信息会出现在每一次提交记录中。

git config –global user.name "你的用户名"
git config –global user.email "你的邮箱地址"

执行git config –list,查看配置是否生效。

1.3 生成并配置 SSH 密钥

使用 SSH 协议连接远程仓库(如 Gitee、GitHub),可以避免每次输入用户名和密码。

  • 生成 SSH 密钥对
  • ssh-keygen -t ed25519 -C "你的邮箱地址"

    连续按三次回车,使用默认路径和空密码。

  • 查看公钥内容
  • cat ~/.ssh/id_ed25519.pub

    复制输出的全部内容,从ssh-ed25519开始到你的邮箱结束。

  • 添加公钥到 Gitee
    • 登录 Gitee 账号,进入 "设置"→"SSH 公钥"
    • 粘贴复制的公钥内容,设置标题(如 "工作电脑")
    • 点击 "确定",输入密码验证
  • 测试 SSH 连接
  • ssh -T git@gitee.com

    第一次连接会提示是否继续,输入yes。如果显示 "Hi 用户名!You've successfully authenticated…",说明配置成功。

    二、本地仓库初始化与第一次提交

    2.1 创建工程文件夹

    在本地创建嵌入式工程文件夹,例如SmartTherm_Project,将你的工程文件(如 CubeMX 生成的代码、Keil 工程文件等)放入该文件夹。

    2.2 初始化本地 Git 仓库

    进入工程文件夹,右键打开 Git Bash,执行初始化命令:

    git init

    该命令会在当前文件夹下创建一个隐藏的.git目录,用于存储 Git 的版本信息。

    2.3 配置.gitignore 文件

    嵌入式工程会生成大量编译中间文件和 IDE 配置文件,这些文件不需要提交到远程仓库。在工程根目录创建.gitignore文件,写入以下内容:

    # Keil MDK 生成文件
    *.o
    *.d
    *.crf
    *.lnp
    *.map
    *.axf
    *.hex
    *.bin
    *.elf
    *.uvguix.*
    *.uvoptx
    RTE/
    Objects/
    Listings/

    # STM32CubeMX 生成文件
    *.ioc
    *.mxproject
    *.launch
    .settings/
    .cproject
    .project

    # 其他临时文件
    *.log
    *.tmp
    *.bak
    .DS_Store
    Thumbs.db

    这个文件告诉 Git 忽略哪些类型的文件,避免将无用文件提交到仓库。

    2.4 添加文件到暂存区

    将工程文件添加到 Git 的暂存区:

    git add .

    .表示添加当前目录下的所有文件(除了.gitignore中忽略的文件)。

    2.5 提交到本地仓库

    将暂存区的文件提交到本地仓库,并添加提交信息:

    git commit -m "初始化工程,添加基础硬件驱动"

    提交信息要简洁明了,说明本次提交的内容。

    三、关联远程仓库(Gitee)

    3.1 创建 Gitee 远程仓库

  • 登录 Gitee,点击右上角 "+"→"新建仓库"
  • 填写仓库名称(如SmartTherm_Project)
  • 选择 "私有" 或 "公开"(嵌入式工程建议私有)
  • 取消勾选 "初始化仓库"、"添加.gitignore"、"添加开源许可证"
  • 点击 "创建仓库"
  • 3.2 添加远程仓库地址

    在本地 Git Bash 中执行以下命令,将本地仓库与远程仓库关联:

    git remote add origin git@gitee.com:你的用户名/SmartTherm_Project.git

    origin是远程仓库的默认别名,可以自定义。

    3.3 第一次推送代码

    将本地仓库的代码推送到远程仓库:

    git push -u origin master

    -u参数会将本地master分支与远程master分支关联,后续推送只需要执行git push即可。

    刷新 Gitee 仓库页面,就能看到提交的代码了。

    四、日常开发基本流程

    4.1 查看仓库状态

    在开发过程中,随时可以执行以下命令查看仓库状态:

    git status

    该命令会显示哪些文件被修改、哪些文件未被跟踪、哪些文件在暂存区等信息。

    4.2 查看提交历史

    查看所有提交记录:

    git log

    按q退出查看。如果只看最近 3 次提交:

    git log -3

    如果需要查看简洁的提交历史:

    git log –oneline

    4.3 修改文件后提交

    日常开发中,修改代码后的提交流程:

  • 查看修改内容
  • git diff

  • 添加修改的文件到暂存区
  • git add 文件名
    # 或者添加所有修改的文件
    git add .

  • 提交到本地仓库
  • git commit -m "修复串口接收丢包问题"

  • 推送到远程仓库
  • git push

    4.4 拉取远程更新

    如果团队中有其他人提交了代码,需要先拉取远程更新,再提交自己的代码:

    git pull

    如果本地有未提交的修改,Git 会提示先提交或暂存修改。

    五、分支基础操作

    分支是 Git 的核心功能之一,允许你在不影响主线代码的情况下开发新功能或修复 bug。

    5.1 查看分支

    查看本地分支:

    git branch

    查看远程分支:

    git branch -r

    查看所有分支(本地 + 远程):

    git branch -a

    5.2 创建并切换分支

    创建一个名为dev的开发分支,并切换到该分支:

    git checkout -b dev

    等价于以下两条命令:

    git branch dev
    git checkout dev

    5.3 合并分支

    当dev分支的功能开发完成并测试通过后,将其合并到master分支:

  • 切换到master分支
  • git checkout master

  • 拉取远程master分支的最新代码
  • git pull

  • 合并dev分支到master分支
  • git merge dev

  • 推送合并后的代码到远程仓库
  • git push

    5.4 删除分支

    合并完成后,可以删除本地dev分支:

    git branch -d dev

    如果分支未合并,需要强制删除:

    git branch -D dev

    删除远程分支:

    git push origin –delete dev

    六、常见问题处理

    6.1 撤销工作区的修改

    如果修改了文件,但还没有添加到暂存区,想要撤销修改:

    git checkout — 文件名

    该命令会将文件恢复到最近一次提交的状态。

    6.2 撤销暂存区的提交

    如果已经将文件添加到暂存区,但还没有提交,想要撤销:

    git reset HEAD 文件名

    该命令会将文件从暂存区移回工作区,修改内容仍然保留。

    6.3 撤销最近一次提交

    如果已经提交到本地仓库,但还没有推送到远程,想要撤销:

    git reset –soft HEAD^

    –soft参数会保留修改内容,只撤销提交操作。如果想要彻底撤销提交和修改:

    git reset –hard HEAD^

    注意:–hard参数会删除所有未提交的修改,谨慎使用。

    6.4 解决合并冲突

    当两个分支修改了同一个文件的同一行时,合并会产生冲突。Git 会在冲突文件中标记冲突内容:

    <<<<<<< HEAD
    本地分支的内容
    =======
    远程分支的内容
    >>>>>>> dev

    手动编辑文件,删除冲突标记,保留需要的内容,然后执行:

    git add 文件名
    git commit -m "解决合并冲突"

    七、嵌入式工程 Git 使用注意事项

  • 不要提交编译生成的文件:.hex、.bin、.o等文件会占用大量仓库空间,且每次编译都会变化,通过.gitignore忽略这些文件。
  • 不要提交大文件:SDK、固件、第三方库等大文件不要提交到 Git 仓库,可以使用网盘或其他方式共享。
  • 提交信息要清晰准确:提交信息应该说明本次修改的内容,避免使用 "更新代码"、"修复 bug" 等模糊描述。
  • 定期拉取远程更新:每天开始工作前,先拉取远程仓库的最新代码,避免产生冲突。
  • 使用分支开发:不要直接在master分支上开发,新功能和 bug 修复都应该在单独的分支上进行,测试通过后再合并到master分支。
  • 八、常用命令速查表

    命令作用
    git init 初始化本地仓库
    git add . 添加所有文件到暂存区
    git commit -m "信息" 提交到本地仓库
    git remote add origin 地址 关联远程仓库
    git push -u origin master 第一次推送并关联分支
    git push 推送到远程仓库
    git pull 拉取远程更新
    git status 查看仓库状态
    git log 查看提交历史
    git checkout -b 分支名 创建并切换分支
    git merge 分支名 合并分支
    git branch -d 分支名 删除本地分支
    git checkout — 文件名 撤销工作区修改
    git reset HEAD 文件名 撤销暂存区提交
    赞(0)
    未经允许不得转载:171主机测评 » 嵌入式工程 Git 从0到1实战操作
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址