Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Guide for managing a ros project with Git

I've been searching around through the documentation/forum posts and haven't really found a good walk-through explaining how to set up version control of a ros project using Git. I'll explain what I have and what I'm hoping to do (it's very possible that what I have in mind is not necessarily the most efficient way of maintaining our source code, so feel free to point me towards something more in-line with current convention or best practices). I am fairly inexperienced with ROS and Git.

Just for a very simple example, I have a catkin workspace ros_ws/ and three packages ros_ws/src/my_pkg_1, ros_ws/src/my_pkg_2 and ros_ws/src/other_pkg.

ros_ws/src/my_pkg_1 & ros_ws/src/my_pkg_2 are packages written and maintained solely be me. ros_ws/src/other_pkg is an external repository that I've cloned into my workspace.

I'd like to have version control for my_pkg_1 & my_pkg_2 within my personal repository and be able to pull and update other_pkg as it is maintained externally. Additionally, I don't want to maintain build/ or devel/ (I typically have seen these directories in the .gitignore in other examples as well). In the end, I want to be able to clone this entire project onto a new machine.

Thanks for any guidance or advice! We want to be sure we're starting off with good organization, as I'd imagine it can be painful to try to reorganize later on ...