当嵌入式工程师第一次用git时~
关注星标公众号不错过精彩内容来源 | 嵌入式情报局搞软件开发如果你不会用Git可能会被这个时代淘汰。因此你必须必备日常工作中使用 Git 的常用命令流也就是一套连贯、符合实际开发场景的 Git 操作指令帮助你完成代码上传到公司服务器。下面我会按照「基础准备→核心开发流程→日常问题处理」的逻辑给出新手也能轻松上手的 Git 常用命令流每个命令都附带清晰的解释。一、环境配置准备如果是第一次操作项目先完成 Git 基础配置和代码克隆# 1. 配置全局用户信息提交记录会显示需和仓库平台账号一致 git config --global user.name 你的用户名 git config --global user.email 你的注册邮箱 # 2. 克隆远程仓库到本地替换为你的仓库地址 git clone https://github.com/xxx/xxx.git # 3. 进入项目目录后续所有命令都在该目录下执行 cd 项目文件夹名称二、日常开发核心命令流日常开发建议遵循「主分支不直接开发功能分支独立开发」的原则核心流程如下步骤1拉取主分支最新代码确保本地主分支main/master是最新的避免后续合并冲突# 切换到主分支 git checkout main 如果是master分支替换为git checkout master # 拉取远程主分支的最新代码 git pull origin main步骤2创建并切换到功能分支分支命名建议规范如feature/功能名、bugfix/问题编号# 创建并切换到新分支示例开发用户登录功能 git checkout -b feature/user-login步骤3开发过程中的常规操作# 1. 随时查看文件修改状态必用确认修改范围 git status # 2. 将修改的文件加入暂存区. 代表全部修改也可指定单个文件 git add . # 全部修改 # git add src/login.vue # 仅添加指定文件 # 3. 提交代码提交信息要清晰格式类型(模块): 描述 # 类型feat(新功能)、fix(修复)、docs(文档)、style(格式)、refactor(重构)等 git commit -m feat(登录): 实现手机号验证码登录功能 # 4. 可选提交后发现漏改补充提交避免多无用commit git add 遗漏的文件路径 git commit --amend # 修改最近一次提交不会新增commit记录步骤4推送分支到远程仓库# 第一次推送该分支-u 关联远程分支后续直接git push即可 git push -u origin feature/user-login # 后续修改后推送已关联分支 git push步骤5功能完成后合并到主分支方式1本地合并这种方式比较适合小型团队。# 1. 切回主分支并拉取最新代码再次确认无新修改 git checkout main git pull origin main # 2. 合并功能分支到主分支 git merge feature/user-login # 3. 推送合并后的主分支到远程 git push origin main方式2提MR/PRGitLab/GitHub推荐团队协作无需本地合并推送功能分支后在 Git 平台如 GitHub/GitLab手动提交「合并请求MR/PR」审核通过后由管理员合并。步骤6清理分支合并后删除# 删除本地功能分支-d 仅删除已合并的分支-D 强制删除未合并的 git branch -d feature/user-login # 可选删除远程功能分支 git push origin --delete feature/user-login三、日常问题处理常用命令1. 撤销工作区修改未add的文件恢复文件到最近一次 commit 的状态git checkout -- 文件名 # 示例git checkout -- src/login.vue2. 撤销暂存区修改已add但未commit将文件从暂存区退回工作区可重新修改git reset HEAD 文件名 # 示例git reset HEAD src/login.vue3. 查看提交日志# 一行显示所有提交版本号提交信息便于追溯 git log --oneline # 查看指定文件的提交记录 git log 文件名4. 解决合并冲突合并时出现冲突是常态处理步骤# 1. 冲突发生后先查看冲突文件 git status # 会标注「both modified」的冲突文件 # 2. 打开冲突文件手动修改冲突标记如下 # HEAD 当前分支的代码 # 你的代码 # 待合并分支的代码 # 对方的代码 # feature/user-login # 3. 修改后标记为已解决 git add 冲突文件名 # 4. 完成合并提交 git commit -m fix: 解决登录功能合并冲突调整验证码逻辑这里重点聊聊合并问题:合并冲突最核心、最常见的触发时机就是类似执行git merge feature/user-login时解决冲突的操作也正是在这个合并被中断的阶段完成。因为当你执行git merge feature/user-login时Git 会尝试自动合并主分支main和功能分支feature/user-login的代码如果两段代码修改的是不同文件、或同一文件的不同位置Git 能自动完成合并整个过程无感知如果两段代码修改了同一个文件的同一行或相邻行Git 无法判断保留哪一份修改就会中断 merge 流程并提示冲突此时你必须手动解决冲突才能继续完成合并。而且git pull也是比较常发生合并冲突的因为git pullgit pullgit fetch拉取远程代码 git merge合并到本地分支。如果远程分支和你本地分支修改了同一处代码git pull时会直接触发冲突解决方式和上面完全一致。这里给大家一个示例:# 1. 切到主分支拉取最新代码 git checkout main git pull origin main # 2. 执行合并触发冲突Git 提示合并失败 git merge feature/user-login # 命令行输出类似 # Automatic merge failed; fix conflicts and then commit the result. # 3. 查看冲突文件关键步骤 git status # 输出会标注冲突文件比如 # both modified: src/login.c # 表示这个文件两边都做了修改有冲突 # 4. 手动解决冲突打开 src/login.c找到冲突标记 # HEAD 主分支的代码 # 主分支的验证码逻辑 # 分隔线两边代码的分界 # 功能分支的验证码逻辑 # feature/user-login 功能分支的代码 # 5. 修改后保存标记为「冲突已解决」 git add src/login.c # 6. 完成合并提交Git 会自动生成合并信息也可自定义 git commit -m merge: 解决登录功能合并冲突统一验证码逻辑 # 可选如果合并到一半想放弃执行 # git merge --abort # 回到合并前的状态不会保留任何修改5. 回滚已提交的代码如果提交的代码有问题需要回滚到指定版本这个使用的时候需要谨慎# 1. 查看提交日志复制要回滚的版本号前6-8位即可 git log --oneline # 2. 软回滚保留修改可重新提交推荐 git reset --soft 版本号 # 示例git reset --soft a1b2c3d # 3. 硬回滚彻底放弃后续所有修改谨慎 git reset --hard 版本号 # 若已推送到远程需强制推送团队协作前务必沟通 git push -f origin main总结日常开发核心流程「拉取主分支最新代码→创建功能分支→开发提交→推送→合并→清理分支」避免直接在主分支开发。提交信息和分支命名要规范便于代码追溯和团队协作git status是日常高频命令务必常用。撤销/回滚操作需谨慎尤其是git reset --hard和强制推送git push -f团队协作时需提前沟通。------------END------------部分元器件涨价近10倍小公司最担心什么SEGGER推出全新的4通道编程器Flasher ATE2“卷王”驾到4核Cortex-A7搭配RISC-V MCU的全志T153开发板78元杀疯了

相关新闻

2026年02月26日热门模型洞察

2026年02月26日热门模型洞察

一、行业背景 随着Qwen3.5系列、GLM-5、Kimi K2.5等旗舰模型的密集发布,开源社区呈现出"参数规模膨胀"与"推理效率优化"并行的双轨发展态势。MoE(混合专家)架构成为主流选择,397B参数规模的Qwen3.5-397B-A17B…

2026/7/8 9:34:52 阅读更多 →
【场景题】如何防止重复下单

【场景题】如何防止重复下单

【场景题】如何防止重复下单1. 如何防止重复下单2. ✅ 方案一:数据库唯一索引3. ✅ 方案二:前端防抖(只是辅助)4. ✅ 方案三:Token 防重复提交(常见)4. ✅ 方案四:订单状态机控制&am…

2026/7/8 0:11:16 阅读更多 →
Day28—反射动态代理

Day28—反射动态代理

反射反射的概述反射允许对成员变量,成员方法和构造方法的信息进行编程访问获取class对象三种方式①Class.forName(“全类名”);②类名.class③对象.getClass();获取构造方法规则:​ …

2026/7/7 3:09:09 阅读更多 →

最新新闻

OpenCLAW与Qwen服务协同配置实战:API密钥、vLLM部署与Java环境对齐

OpenCLAW与Qwen服务协同配置实战:API密钥、vLLM部署与Java环境对齐

1. 项目概述:这不是一个“安装教程”,而是一次真实环境下的协同配置实战 OpenCLAW Qwen 的组合,最近在自动化任务编排和多模态智能体开发圈子里被频繁提起。但很多人卡在第一步——不是模型跑不起来,而是根本连不上。我上周帮三…

2026/7/8 18:31:41 阅读更多 →
CoPark:自博弈端到端反应式泊车系统实战解析

CoPark:自博弈端到端反应式泊车系统实战解析

1. 这不是又一个“泊车演示视频”,而是一套真正能上实车跑通的反应式决策系统CoPark这个名字乍一听像某个停车场App,但实际它代表的是当前自动驾驶末端场景中少有的、把“感知—决策—控制”链条彻底打通并用自博弈方式训练出来的端到端反应式泊车方法。…

2026/7/8 18:31:41 阅读更多 →
3个Dism++核心功能高效方案:提升Windows系统管理效率的完整指南

3个Dism++核心功能高效方案:提升Windows系统管理效率的完整指南

3个Dism核心功能高效方案:提升Windows系统管理效率的完整指南 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language Dism作为一款开源的Windows系统维护工…

2026/7/8 18:29:40 阅读更多 →
Cursor如何实现产品与代码的语义对齐?AI原生IDE协作范式解析

Cursor如何实现产品与代码的语义对齐?AI原生IDE协作范式解析

1. 为什么是 Cursor,而不是 Trae、VSCode 或 ChatGPT?——一个真实产品团队的协作工具选型实录我带过三支不同规模的产品研发协同小组:一支做 SaaS 后台系统,一支做硬件嵌入式边缘计算平台,还有一支是纯 AI 应用孵化团…

2026/7/8 18:29:40 阅读更多 →
Cursor高阶实战:Slash Command链式调用与Plan模式工程化应用

Cursor高阶实战:Slash Command链式调用与Plan模式工程化应用

1. 项目概述:这不是一个“教程”,而是一份 Cursor 高阶用法的实战手记聪明的你一定知道这样用 Cursor——这句话乍看像一句营销话术,但拆开来看,它其实藏着三层真实信息:第一,“聪明”指向的是有编程经验、…

2026/7/8 18:29:40 阅读更多 →
OpenCV 4.8 区域生长算法实战:5行代码实现图像分割,IoU提升15%

OpenCV 4.8 区域生长算法实战:5行代码实现图像分割,IoU提升15%

OpenCV 4.8 区域生长算法实战:5行核心代码实现工业级图像分割当我们需要从一张复杂的医学影像中提取肿瘤区域,或是在自动驾驶场景中精确识别道路边界时,传统阈值分割方法往往力不从心。这时,区域生长算法(Region Growi…

2026/7/8 18:27:39 阅读更多 →

日新闻

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破

3大核心能力重塑《明日方舟》游戏体验:MAA自动化助手的革命性突破 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: …

2026/7/8 0:00:48 阅读更多 →
MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N+1 到批处理的全路径

MyBatis 批量操作深度优化——从 N1 到批处理的全路径 一、从"功能正确"到"性能可接受"——MyBatis 批量操作的三段式进化 MyBatis 在日常增删改查场景中几乎是无感的——实体映射直观、SQL 控制灵活。但当数据量从千级上升到十万级、百万级,许…

2026/7/8 0:00:48 阅读更多 →
工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

工业负载控制方案:TPD2015FN与PIC18F45K22应用解析

1. 工业负载控制方案概述在工业自动化、电机驱动和照明控制等高需求场景中,可靠地控制电感和电阻负载是核心挑战之一。TPD2015FN作为东芝的8通道高端智能功率开关IC,配合PIC18F45K22微控制器,能够构建一套稳定、高效的负载控制系统。这套组合…

2026/7/8 0:02:48 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/8 16:14:06 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/8 16:59:55 阅读更多 →

月新闻