随着后续开发的代码量逐渐增加,采用代码管理工具可以实现高效管理、共享代码以及协作开发。
常用的代码管理工具有svn和git,采用svn可能需要自己搭建服务器端,使用git可以结合Github、gitee以及gitlab等代码托管平台,而且linux系统对git支持比较友好,本文以“ROS节点”为实例,介绍git以及Github的使用。
一 安装git
Ubuntu下安装git比较方便,执行下面一条指令即可:
sudo apt install git
验证git安装是否成功:
git --version
执行后,会打印git的版本,此时,完成git安装。
二 申请Github账号:
打开链接:
Build software better, togethergithub.com![dab22e9d59d063cd33187e30757554fe.png](https://i-blog.csdnimg.cn/blog_migrate/e7e1adc323d9275dce427b4345d0686f.jpeg)
填写账号,密码,和邮箱即可完成注册,注意推荐使用自己常用邮箱,用于后续配置git使用。
完成注册后,需要进入邮箱,完成验证,此时完成Github账号申请。
三 配置Github:
1. 检查密钥文件:
ls -l ~/.ssh/
查看是否有id_rsa和id_rsa.pub两个文件,如果有,跳过第二步。
2. 生成密钥文件:
ssh-keygen -t rsa -C "xxx@yyy.com"
"xxx@yyy.com"为前面申请Github账号时,使用的邮箱。在执行之后,一路回车,即完成生成密钥文件了。
3. 设置密钥:
打开链接:
Build software better, togethergithub.com![dab22e9d59d063cd33187e30757554fe.png](https://i-blog.csdnimg.cn/blog_migrate/e7e1adc323d9275dce427b4345d0686f.jpeg)
选择new ssh key,界面如下:
![3138db5f9123a79ce1c53cc446b707d4.png](https://i-blog.csdnimg.cn/blog_migrate/1105b51b5875bd90e961c830ad651fc3.png)
title随便填写下,然后把id_rsa.pub文件内容全部复制到key中,点击add ssh key,即完成配置。
四 创建仓库:
![16e08e841a5cf76208e235809b0e64e7.png](https://i-blog.csdnimg.cn/blog_migrate/f3eef850e7bea83c110a9f0038e12d93.png)
如图,点击+号,选择new repository,进入如下界面:
![0e9a4cedad72f8819143f585c956ffb5.png](https://i-blog.csdnimg.cn/blog_migrate/e6ec8a2ff19955cfb7c3d4bce68c524a.jpeg)
填写仓库名字,和必要简介,然后选择仓库类型,public代码开放,即所有人都可见,private是私有仓库,目前Github也支持免费私有仓库。点击create repository 完成仓库创建,如图:
![cf3a9b7af60c49e35bbb17692bd63f0d.png](https://i-blog.csdnimg.cn/blog_migrate/895c02536ff439f27662a399c16e657e.jpeg)
可以看到仓库地址。
五 移植ros工作空间:
1. 将远程仓库同步到本地:
cd ~/workspace
git clone ahuer2435/ros_program
后面链接要换成你自己的仓库地址。
2. 添加代码:
将我们前面创建的ros工作空间catkin_ws剪切到目录ros_program下:
cd ros_program
mv ../catkin_ws ./
3. 配置ros默认工作空间
因为ros工作空间路径改变,所以要同步修改~/.bashrc文件,将ros_program字段加入路径中,然后执行:
source ~/.bashrc
4. 清理老的编译结果:
rm -rf build/ devel/ install/
5. 检查ros编译环境:
catkin_make
6. 检查ros运行环境:
roscore
rosrun beginner_tutorials hello_world
运行效果如图:
![a20829bc25be90ac05e27aeb97b64d25.png](https://i-blog.csdnimg.cn/blog_migrate/e555258a00f5dbec8d4e239553bbc01a.png)
至此完成ros工作空间移植。
六 配置git账号:
在提交代码时,会有身份验证,所以需要配置个人信息,这会添加到提交记录中,命令如下
git config --global user.name "your_name"
git config --global user.email xxxx@yyyy.com
名字和邮箱建议与前面保持一致。
七 配置git忽略编译的生成文件:
1. 配置.gitignore文件
touch .gitignore
将build,devel ,.vscode 填进入。
2. 检验配置是否生效:
git add ./
git status
执行效果如图所示:
![939d9d9a546d3b35910a25cd1d9a4ae9.png](https://i-blog.csdnimg.cn/blog_migrate/10d6eb71afb4e0f1ed94b58eb29b2e1d.jpeg)
至此完成配置。
八 提交文件到仓库:
git commit ./ -m "frist ros commit"
git push
完成代码提交,刷新仓库,如图
![1061d56a6ae8a23b580c8c8041f04296.png](https://i-blog.csdnimg.cn/blog_migrate/1a9011a325d591cd3d9a4110397b3a34.jpeg)
可以看到,完成一笔提交。
九 小结:
提交代码三个步骤:
git add xxx
git commit xxx -m “commit”
git push
这里通过实例,演示如何使用Github和git的基本操作,并没有深入介绍其高级用法,因为我们的重点还是放在ROS的学习上,对git和Github感兴趣的同学也可继续学习,有问题欢迎留言交流。后面我们继续介绍ros,发布ros话题。