最近在使用一个很棒的IDE:Roboware Studio时,发现里面有git选项,就想通过这个软件来进行版本管理,而不是通过命令代码进行git版本管理。
如图可以发现里面涵盖了大部分常用的git指令。
下面我就说一下如何从零开始基于此IDE进行git版本管理。
此处细节参考廖雪峰大佬的git教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
通常新人的ros包都放置在catkin_ws文件夹下 ,那我就以此为例进行配置。
1.将自己的文件夹建好git仓库。
首先切换到catkin_ws
cd ~/catkin_ws
然后初始化git仓库。
git init
会提示
Initialized empty Git repository in /home/user/catkin_ws/.git/
就是告诉你建立好一个空仓库了。
他会建立一个.git的隐藏文件,可以用ls -ah命令看到这个文件。
2、构建Github远程仓库
我们使用SSH加密方式构建与云端仓库的链接,这里采用github,因为github已经可以支持构建私密项目了。
首先创建SSH key,步骤如下:
cd
切至主目录
ssh-keygen -t rsa -C "youremail@example.com"
把邮件换成你个邮箱,确认几次就行,一般不用设置密码。
gedit .ssh/id_rsa.pub
打开这个公钥,将里面的东西复制,等下用。
然后 去https://github.com/打开你的账号,没有就新注册一个。然后点右上角下拉菜单找Settings这里配置:
进SSH and GPG Keys 这个选项,点击Add New Key,随便填个title,然后Key那一栏把刚刚复制的公钥粘贴进去,就ok了。
这样你的github就不会把别人冒充提交的东西收进去。
下一步我们新建一个仓库。
创建完成会有这个界面:
复制ssh那里:git@github.com:usrname/myros.git
去本地的仓库目录下运行此命令,还是以catkin_ws为例
cd catkin_ws
git remote add origin git@github.com:usrname/myros.git
这样就构建了一个本地与云端的关系。
因为我们的catkin_ws中编译后的文件其实是没有必要上传的,所以加入一个过滤规则。在此文件夹下新建一个过滤文件。
gedit .gitignore
这是一个隐藏文件,打开后填入:
build/
devel/
devel_isolated/
el/
el_isolated/
install/
这样就只留下src文件夹。
然后我们先尝试添加代码到本地仓库,执行
git add -A
,-A是自动添加全部要上传到仓库的文件,添加完后输入提交到本地仓库。
git commit -m"test"
之后执行这个,将本地与远程分支对应。
git push --set-upstream origin master
你会发现文件已经同步到github上去了。
3、在roboware studio中快速进行代码提交上传。
更改下文件,保存一下,就可以看到这里发生了变化:
这个base就是我们刚改动的文件。
在消息栏中填入本次改动的备注(随便写),点对号或ctrl+enter进行提交(对应命令:git commit)。
之后在旁边的省略号下拉栏中点击推送,就可以把改动同步到云端了。(对应命令:git push origin)