極楽とんぼのロボット製作記

情報工学系大学院生がロボットとその周辺技術や身の回りの出来事について紹介するブログ

【ROS】catkin_wsをgitで管理する

自分で作成したcatkin_wsをgitで管理する方法を紹介します。

リポジトリ作成

やり方は簡単です。まずはGithubやBitbucketでリポジトリを作成しましょう。
今回はmy_rosとしておきます。

$ git clone https://github.com/username/my_ros.git

ワークスペースの初期化

$ cd my_ros
$ mkdir src
$ cd src
$ catkin_init_workspace

このあたりでコミットしておくと良いでしょう。

$ git add .
$ git commit -m "initial commit"

試しにsrcに何かパッケージを入れてビルドしてみましょう。

.gitignoreの設定

ビルドするとbuildやdevelが作成されます。これをリポジトリとして管理する意味は特にないので、リポジトリの管理対象から除外します。gitで特定のディレクトリやファイルを除外するには.gitignoreに設定します。

$ cd my_ros
$ vim .gitignore

.gitignoreには次のように書きます。

build/
devel/

これでbuildとdevelが除外されました。
.gitignoreに関してはこちらの記事が参考になります。階層構造をもったファイルを除外する際のテクニックなどが応用編として書かれていて、これを応用して特定のファイルだけを管理対象にすることもできます。
.gitignore の書き方 - Qiita


ROS向けignoreの紹介

ROSのgitignoreとしてさらに詳しいものがおいてある場所があります。
gitignore/ROS.gitignore at master · github/gitignore · GitHub
ここではmsgを作成したり、dynamic reconfigureを生成したりした際に自動生成されるファイルやemacsのスワップファイルを除外する方法などが書かれています。

参考サイト
.gitignore の書き方 - Qiita
gitignore/ROS.gitignore at master · github/gitignore · GitHub