尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Git基础——add/commit/push/branch的正确使用姿势
面试的时候被问过一个问题你平时怎么管理代码我当时脑子一抽说了句用U盘备份。面试官笑了我也笑了。但那个笑比挂了还难受。后来才知道Git是机器人开发团队里最基础的工具没有之一。不管你是做算法的还是搞嵌入式的不会Git基本上就没法进团队。今天就把Git最核心的几个操作掰开了讲让你面试的时候不再心虚。git init和git clone从零开始两种情况。一种是你有个新项目啥都没有mkdir my_robot_project cd my_robot_project git init这时候当前目录就变成了一个Git仓库。Git会在里面创建一个.git隐藏文件夹用来跟踪所有变更。另一种是团队已经有现成的仓库了你需要把它拉下来git clone gitgithub.com:team/robot_project.git这行命令会在本地创建一份完整副本包括所有历史记录。注意不是只拿最新版本是全部历史都拿。这就是分布式版本控制的核心思想。clone下来之后你会看到一个.git目录。别碰它。删了它你就丢失了所有版本历史。git add和git commit最基本的提交改完代码之后第一步是告诉Git我改了哪些文件git status # 看看哪些文件变了 git add main.cpp # 把main.cpp加入暂存区 git add src/ # 把src目录下所有改动都加入 git add . # 把所有改动都加入慎用git add这一步很关键。它不是提交只是告诉Git这些改动我准备提交了。你可以选择性地只add一部分文件比如你改了两个bug但只想先提交其中一个。然后是真正的提交git commit -m 修复了激光雷达数据解析的bugcommit message写清楚这是给未来的自己看的。别写fix bug这种废话过一个月你自己都不知道fix了啥。有个实用技巧git add -p。这个命令可以按代码块hunk来添加而不是整个文件。比如你改了一个文件里的两处代码只想提交其中一处用-p就能精确选择。面试的时候提到这个面试官会觉得你是真用过Git的。.gitignore别把不该提交的东西传上去每个项目根目录都应该有个.gitignore文件。它告诉Git哪些文件不需要跟踪。典型的机器人项目.gitignorebuild/ devel/ install/ *.pyc .vscode/ *.swp core_dump编译产物、IDE配置、Python缓存文件这些都不应该提交。我之前见过一个实习生把整个build目录都commit进去了几万个文件仓库直接膨胀到2个G。后来花了好大力气才从历史里清掉。git branch分支的正确用法分支是Git最强大的功能。你可以把它理解为平行宇宙——在主线之外开一条线随便改改好了再合并回去。git branch # 查看所有分支 git branch feature_lidar # 创建新分支 git checkout feature_lidar # 切换到该分支 git checkout -b feature_lidar # 创建并切换上面两步合一在机器人项目里常见的分支策略是这样的main分支永远是稳定可发布的版本develop是日常开发的主线然后每个功能或者bugfix单独开一个分支。比如你要加一个IMU驱动就开个feature_imu_driver分支开发完了再合并回develop。千万别在main分支上直接改代码。这不是小项目两三个人随便搞搞的时代了正经团队都有分支规范。git push和git pull远程同步本地commit之后代码还在你自己电脑上。要推到远程仓库让团队看到git push origin feature_lidar # 把本地分支推到远程 git push -u origin feature_lidar # 第一次push时加-u建立追踪关系-u这个参数只在第一次用。之后直接git push就行了Git已经记住了你要推到哪里。从远程拉取更新用git pullgit pull origin develop这其实是两个操作的组合先从远程下载fetch再合并到本地merge。这里有个新手常踩的坑你在本地改了代码同事也改了你pull的时候就会冲突。冲突不可怕后面会专门讲。但你要养成一个习惯——开始工作前先pull一下保持本地和远程同步能减少很多不必要的冲突。git log和git diff查看历史git log # 查看提交历史 git log --oneline # 简洁模式一行一个commit git log --graph # 图形化显示分支合并 git diff # 查看当前改动和上次commit的差异 git diff HEAD~1 # 查看和上一个commit的差异git log --oneline --graph --all这个组合命令特别好用能看到整个项目的分支历史全貌。排查问题的时候特别有用。机器人开发中的Git实践在机器人项目里Git的使用有一些特殊注意事项。大文件问题。机器人项目经常涉及数据集、模型文件、地图文件这些动辄几百MB的东西。直接提交到Git里会让仓库变得巨大。解决办法是用Git LFSLarge File Storagegit lfs install git lfs track *.pcd git lfs track *.bag这样大文件会被LFS管理不会撑爆仓库。多语言混合项目。一个典型的机器人项目可能同时有C、Python、Launch文件、配置文件。建议按功能模块组织目录结构而不是按语言分。这样在分支管理的时候一个功能的改动集中在一个目录里review起来方便。编译缓存。ROS项目的编译时间很长有时候编译产物会不小心被Git跟踪。一定要在.gitignore里排除build/、devel/、install/这些目录。面试中怎么聊Git面试官问Git通常不是让你背命令。他们想看的是你有没有在真实项目中用过有没有遇到过问题怎么解决的。你可以这样回答我们项目用Git Flow的分支模型main是稳定版本develop是开发主线。每个功能开feature分支开发完提PR做code review。有一次我push了一个commit把编译产物也提交进去了仓库从50M涨到800M后来用git filter-branch从历史里清掉的。从那以后我特别重视.gitignore的配置。这种回答比背十个命令都有说服力。因为它说明你真的用过真的踩过坑真的解决了问题。Git分支管理的实战经验在实际项目中Git分支管理策略很重要。一个简单有效的策略是main分支始终保持可发布状态开发在feature分支上进行完成后通过PR合并。常见的错误包括在main上直接修改、忘记拉取远程更新就push、解决冲突时不小心覆盖别人的代码。一个实用的习惯是每次开始工作前先git pull --rebase保持本地分支干净。补充一个实用技巧git log --oneline --graph --all 可以可视化查看完整的分支历史排查问题时特别方便。另外git diff --stat可以快速了解一次提交改了多少文件。掌握这些Git技巧团队协作效率会大幅提升。给你的建议多练。Git这东西光看不用根本学不会。自己建个仓库随便改改提交提交练练分支合并比看十篇文章都管用。记住几个核心概念就够了工作区、暂存区、仓库。git add是从工作区到暂存区git commit是从暂存区到仓库。理解了这个流程很多命令就不会搞混。还有commit message认真写。这不是给面试官看的是给半年后的自己看的。到时候你看到一条fix的commit绝对想穿越回去打人。上一篇第97篇 Docker进阶——多容器编排和机器人仿真环境搭建下一篇预告第99篇 Git进阶——rebase/cherry-pick/stash的实战场景
RELATED

相关推荐

LTE-TDD小区光路闪断故障处理典型案例

LTE-TDD小区光路闪断故障处理典型案例

一、站点告警与初步排查 TDD-LTE站点2小区历史告警显示频繁小区退服,光路-2闪断、校准告警等。 此类告警会反复上小区退服工单,白天严重影响用户感知。经查询,当前小区状态不可用,光链路连接失败告警。 二、故障排查与处理 经查询,当前光路状态信息显示,2小区对应BBU侧…

📅 2026/10/6 16:05:04
从文化到产品全面自研,好客搜陈海伟以私有知识库驱动企业 AI 数字化升级

从文化到产品全面自研,好客搜陈海伟以私有知识库驱动企业 AI 数字化升级

企业 AI 数字化升级的核心诉求,是实现内部海量文档智能化、安全化管理,但多数数字化方案存在技术外包、数据云端托管、算力适配差等短板,难以贴合企业长期发展需求,好客搜陈海伟实现全维度自主研发,由好客搜陈海伟搭建…

📅 2026/11/2 9:06:13
TI AMIC120 DDR3/LPDDR2 PCB设计实战:从信号完整性到稳定布局

TI AMIC120 DDR3/LPDDR2 PCB设计实战:从信号完整性到稳定布局

1. 项目概述与核心挑战在嵌入式硬件开发领域,尤其是基于像TI AMIC120这类高性能处理器的系统设计中,DDR内存接口的PCB布局布线往往是决定项目成败的关键一环。我见过太多项目,原理图设计得漂漂亮亮,软件也写得逻辑清晰&#xff0c…

📅 2026/11/8 16:02:31
MORE NEWS

更多资讯

📰

石狮市电工证电子证书查询,学历不高也能轻松报名

石狮市电工证电子证书查询,学历不高也能轻松报名 你是不是也担心学历不够,报不了电工证?别急,石狮市电工证的报名门槛并不高,关键是 电子证书…

📰

新安电工证咨询电话郑州报考避坑指南实操考试心里没底怕挂科怎么办

新安电工证咨询电话郑州报考避坑指南实操考试心里没底怕挂科怎么办 实操考试心里没底怕挂科,这几乎是每个准备考电工证的人心里的真实写照。特别是对于像信阳浉河区这样的地区,想要通过考试顺利拿到【新安电工证】,不光是考试内容繁多,报考流程、政策变化…

📰

承装修试高压电工证怎么考?怕考不过白交培训费?官方报名入口在这里

承装修试高压电工证怎么考?怕考不过白交培训费?官方报名入口在这里 怕考不过白交培训费?这几乎是每个准备考【承装修试高压电工证】的人心里的担忧。尤其像济源的应届工程类毕业生,刚步入职场就面临证件门槛,要是培训费打水漂,那真是血亏。别急,本文手…

📰

济南低压电工证好考吗官方回应来了,上岗必备证书怎么拿?

济南低压电工证好考吗官方回应来了,上岗必备证书怎么拿? 你是不是也正为找工作发愁? 急需特种作业证才能上岗找工作 ,尤其是低压电工证,几乎是电工行业的“入场券”。最近不少济南的求职者都在问:**济南低压电工证好考吗?**其实,官方回应早就给…

📰

怎么查询电工证地址到期换证流程

电工证到期换证流程怎么查?网上查询不被中介坑的秘诀 你是不是也遇到过这种情况,手里握着电工证,但不知道该去哪儿办理换证,怕被中间人骗钱?现在网上查询越来越方便,但很多人还是摸不着头脑,尤其是一些中小型施工企业,老板亲自操心这事,怕出错、怕被…

📰

电工证培训街道内部消息:考证找工作的关键一步

电工证培训街道内部消息:考证找工作的关键一步 你现在急需特种作业证才能上岗找工作,但对电工证培训街道的流程、考试内容和证书含金量一无所知?别慌,我来帮你拆解清楚,特别是 内部消息 里那些你想不到的细节,让你少走弯路。…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬