最近在使用一個很棒的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 "[email protected]"
把郵件換成你個郵箱,確認幾次就行,一般不用設置密碼。
gedit .ssh/id_rsa.pub
打開這個公鑰,將裏面的東西複製,等下用。
然後 去https://github.com/打開你的賬號,沒有就新註冊一個。然後點右上角下拉菜單找Settings這裏配置:
進SSH and GPG Keys 這個選項,點擊Add New Key,隨便填個title,然後Key那一欄把剛剛複製的公鑰粘貼進去,就ok了。
這樣你的github就不會把別人冒充提交的東西收進去。
下一步我們新建一個倉庫。
創建完成會有這個界面:
複製ssh那裏:[email protected]:usrname/myros.git
去本地的倉庫目錄下運行此命令,還是以catkin_ws爲例
cd catkin_ws
git remote add origin [email protected]: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)