3. 基础开发工具安装
好,咱们进入第三章。说实话,这一章的内容看起来有点「杂」,但你别小看它。我见过太多新手,代码写得挺溜,结果在版本控制上翻了车,或者连不上服务器干瞪眼。这些工具,说白了就是你每天都要打交道的「吃饭家伙」。咱们一个一个来搞定。
3.1 Git版本控制:你的代码后悔药
Git这东西,我刚开始用的时候也觉得麻烦。但后来有一次,我不小心把整个工程文件夹给删了……嗯,从那以后,我再也不敢不用Git了。它就是个时光机,让你随时能回到过去。
3.1.1 安装Git
在Ubuntu下安装Git非常简单,一行命令搞定:
sudo apt update
sudo apt install git -y
装完之后,验证一下版本:
git --version
我个人习惯,装完第一件事就是配好用户名和邮箱,不然commit的时候会报错:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
3.1.2 配置SSH密钥(免密推送)
每次push都输密码?太烦了。我建议你配个SSH密钥,一劳永逸。
ssh-keygen -t rsa -b 4096 -C "your.email@example.com"
一路回车,生成完之后,把公钥加到GitHub上:
cat ~/.ssh/id_rsa.pub
复制输出的内容,去GitHub的 Settings → SSH and GPG keys 里添加即可。
3.1.3 基本操作流程
你只需要记住这几个命令,日常开发就够用了:
| 命令 | 作用 |
|---|---|
git init |
初始化仓库 |
git clone <url> |
克隆远程仓库 |
git add . |
暂存所有改动 |
git commit -m "msg" |
提交到本地仓库 |
git push |
推送到远程 |
git pull |
拉取远程更新 |
git status |
查看当前状态 |
git log |
查看提交历史 |
举个例子,你从Apollo仓库拉代码:
git clone https://github.com/ApolloAuto/apollo.git
cd apollo
git checkout master
git add 送到暂存区,git commit 存到本地,git push 才真正发到远程。
3.2 编辑器选择:Vim vs VS Code
编辑器这东西,其实没有绝对的好坏。我个人是两者都用——服务器上改配置用Vim,本地写代码用VS Code。你想想看,各有各的战场。
3.2.1 Vim:服务器上的瑞士军刀
Vim是终端里的编辑器,没有图形界面。你SSH到服务器上,想改个配置文件,Vim就是最好的选择。
安装:
sudo apt install vim -y
基本操作,你记住这几个就够了:
i— 进入插入模式(开始打字)Esc— 退出插入模式:wq— 保存并退出:q!— 不保存强制退出/keyword— 搜索关键字dd— 删除当前行yy— 复制当前行p— 粘贴
:q! 就是「我不干了,直接退」。
3.2.2 VS Code:图形化开发利器
VS Code是微软出的免费编辑器,插件生态非常丰富。做Apollo开发,我推荐你装这几个插件:
- C/C++ — 代码补全和调试
- Python — Python支持
- GitLens — 可视化Git历史
- Remote - SSH — 远程开发(这个后面会讲)
- YAML — Apollo的配置文件很多是YAML格式
安装VS Code:
sudo snap install --classic code
或者去官网下载.deb包安装也行。
3.3 SSH服务与远程连接配置
做自动驾驶开发,你不可能总在车上的工控机前敲键盘。大部分时候,你是通过SSH远程连上去的。说白了,SSH就是你的「远程桌面」,只不过它是纯命令行的。
3.3.1 安装SSH服务
在工控机(或者服务器)上,你需要开启SSH服务:
sudo apt install openssh-server -y
sudo systemctl start ssh
sudo systemctl enable ssh # 开机自启
检查服务是否运行:
sudo systemctl status ssh
看到 active (running) 就对了。
3.3.2 从你的电脑连接
在你自己电脑的终端里:
ssh username@ip_address
比如:
ssh apollo@192.168.1.100
第一次连接会提示确认指纹,输入 yes 就行。
-p 参数指定。我曾经遇到过有人把SSH端口改成2222,结果自己忘了,连了半天连不上……
3.3.3 配置免密登录(推荐)
每次SSH都输密码?太累了。用密钥对登录:
ssh-copy-id username@ip_address
这条命令会把你的公钥传到服务器上。之后再连接就不用密码了。
3.3.4 VS Code Remote-SSH
这是我最喜欢的功能。你可以在VS Code里直接打开远程服务器上的代码,就像在本地一样编辑、调试。
步骤:
- 安装 Remote - SSH 插件
- 按
F1,输入Remote-SSH: Connect to Host - 输入
username@ip_address - 连接成功后,打开远程文件夹即可
这样一来,你本地电脑上只需要装个VS Code,所有代码都在服务器上跑。编译、运行都在远程,体验跟本地一样流畅。
3.4 本章知识体系
下面这张图,帮你理清这三个工具之间的关系:
这三个工具,说白了就是一套组合拳。Git管代码,编辑器写代码,SSH连机器。你把这套流程跑通了,后面的Apollo编译、调试才能顺利进行。
好,这一章就到这儿。工具都装好了,下一章咱们就开始搞真正的Apollo源码编译了。