搞开发的,谁敢说自己没被Git和GDB折腾过?一个管代码版本,一个管问题定位,两个都是吃饭的家伙。我见过不少新人,Git只会clone、commit、push三板斧,遇到冲突直接懵;GDB更是碰都不碰,程序崩了全靠printf大法,一行一行打日志打到怀疑人生。这篇文章不搞那种教科书式的罗列,我把这些年实际用这两个工具踩过的坑、总结出来的套路、以及网上被问烂了的那些报错,一次性给你捋清楚。不管是刚入门的新手,还是被各种诡异问题折磨的“老油条”,这篇都能让你少走点弯路。
1. 环境搭建:别让第一步卡住整个流程
很多项目刚开始的进度条,都不是卡在业务逻辑上,而是卡在“环境没搞好”。Git装不上、GDB连不上,后面全是白搭。这部分我把两个工具从安装到配置的细节都过一遍,尤其是那些网上教程经常一笔带过的坑。
1.1 Git安装与配置:从零到能提交代码
Git的安装本身不复杂,但“装好”和“能用得顺手”是两回事。
先说Windows下的安装。你从官网下载安装包,一路Next基本就能装完,但有几个选项我建议你注意一下:
- Adjusting your PATH environment:这个一定要选“Git from the command line and also from 3rd-party software”,不然装完在CMD或者VS Code终端里敲
git会提示“git不是内部或外部命令”。 - Choosing the SSH executable:选“Use OpenSSH”,这是Windows自带的,省得后面配SSH再折腾一套。
- Line ending conversions:选“Checkout as-is, commit as-is”。Git默认在Windows上会把换行符转成CRLF,在Linux上转成LF,这个“贴心”的转换经常导致整个文件被标记为修改。选这个选项能少很多莫名其妙的问题。
装完之后,打开Git Bash,第一件事是配身份信息:
bash复制git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
这一步不做的后果就是——你能正常commit,但提交记录上的作者信息是错的,或者压根显示不出来。很多新人觉得这步无所谓,等哪天代码要回溯责任的时候,哭都来不及。
然后是SSH配置。现在用HTTPS方式clone项目,每次push都要输账号密码,体验很差。配置SSH密钥是一个“一劳永逸”的操作:
bash复制ssh-keygen -t rsa -b 4096 -C "你的邮箱"
生成之后,把~/.ssh/id_rsa.pub里的内容复制到GitLab/GitHub的SSH Keys设置里。这里有个细节:如果你没有用默认文件名生成密钥,或者有多个平台多个密钥,就需要在~/.ssh/config里写清楚:
code复制Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_github
Host gitlab.com
HostName gitlab.com
User git
IdentityFile ~/.ssh/id_rsa_gitlab
写完之后记得执行ssh -T git@github.com测试一下。我之前遇到过一种情况:密钥没问题,权限也没问题,但就是连不上,排查半天发现是config文件的换行符不对,Windows下编辑导致格式错误。所以建议用VS Code或者Notepad++编辑,别用记事本。
另外提一嘴Windows下那个经典报错:“git : 无法将“git”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。”出现这个提示,就是你装了Git但没把Git\cmd路径加进系统环境变量Path。加了环境变量之后,记得把开着的终端全部关掉重开,因为终端的环境变量是启动时读取的。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
1.2 GDB环境准备:不同平台下的调试器差异
GDB这边的情况比Git复杂一点,因为它不是一个“装好就能用”的工具,而是要跟着你的开发环境走。
本机调试最简单,Linux下装一个就完事:
bash复制sudo apt install gdb
但现在的开发场景哪有那么单纯。嵌入式开发用交叉编译链,调试的时候要用的是arm-none-eabi-gdb;macOS上调试用的是LLDB(GDB的变体);Windows下调试最常用的其实是Visual Studio的调试器。
这里重点说一下交叉编译环境下的GDB。你在x86的电脑上开发ARM单片机的程序,编译用的工具链是arm-none-eabi-gcc,那配套的调试器就是arm-none-eabi-gdb。如果你直接用本机的gdb去加载ARM的elf文件,会直接报“格式不对”之类的错误,因为两种架构的指令集完全不同。
下载的时候要认准“multi arch”版本。所谓multi arch就是同时支持多种目标架构的调试器,一个工具搞定ARM、RISC-V、x86等多种平台的调试。在Linux下装multi arch GDB很直接:
bash复制sudo apt install gdb-multiarch
用的时候也不一定非要改命令名,可以在~/.gdbinit里做一个alias,或者直接用`gdb-multiar
