wiki
Getting startedGuidesFAQ
1.0.0
1.0.0
  • b-it-bots wiki
  • @home
    • Getting started
      • First steps
      • Setting up your development environment
        • Configuring your editor
        • Using ssh
      • Adding your first contribution
    • Tutorials
      • Architecture
    • Guides
      • git
        • Making good commits
        • Branching model
        • Adding git aliases to make your life easier
        • Creating a release
      • SSH
      • ROS
        • Creating a new package
          • Creating a new node
        • Creating a new message, service or action
        • Testing in ROS
        • Linting
      • Coding conventions
        • C++
        • Python
      • Toolkit
        • CLion
        • Atom configuration
        • Using vim
        • TMUX - Terminal Multiplexer
    • Resources
    • FAQ
      • git
  • @work
    • 2018-05-06-navigation-atwork
    • 2018-05-06-simulation_mapping
    • How to use the RealSense2 camera
    • Getting the classifier from a data set
Powered by GitBook
On this page
  • Getting a task
  • Create a branch
  • Making modifications
  • Add a new remote
  • Create a pull request

Was this helpful?

  1. @home
  2. Getting started

Adding your first contribution

PreviousUsing sshNextTutorials

Last updated 4 years ago

Was this helpful?

Getting a task

During our meetings, we will usually discuss what are the important things on the team's to-do list. Once you have completed the first steps and tutorials, we will assign an to you. You can also browse that list and find something that looks interesting for you.

You can find good issues for new members by filtering the .

Create a branch

Before you start working, you should create a branch where you will save your changes.

See

Our repositories usually have the following branches:

  • kinetic - the stable branch which contains code which rarely fails and has been thoroughly tested.

  • devel - the development branch where you will find the latest version of our code, including bug fixes, new features and experimental code.

As a developer, you will usually always start your work based on the devel branch. Depending on what you are working on, try to follow our branch naming conventions:

  • feature/name-of-feature: New functionality that will be added to the robot. Make the name-of-feature part as descriptive as possible.

  • fix/issue-NNN: Fixing a bug that was found in existing code. If there is no issue for the bug you are trying to fix, just use a descriptive title.

To create a new branch which is based on devel, you can run the following command:

git checkout -b <new branch> devel

For example:

git checkout -b feature/my-very-descriptive-feature devel

Making modifications

Add a new remote

You can list the remotes in your repository with the following command:

git remote -v

By convention, the base repository (in this case, the b-it-bot's one) is called the upstream. Your fork is called origin.

First, let's rename the b-it-bots remote to match that:

git remote rename origin upstream

Now let's add your fork as origin:

git remote add origin git@github.com:<your GitHub user name>/<name of repository>.git

Here is an example with the mas_domestic_robotics repository:

Create a pull request

Once you press the create pull request button, a form will appear. Try to follow the guidelines below:

  • Add a (small) text describing what your changes are doing

  • Apply any labels that apply

  • Request a review from the senior members (GitHub will add some of them automatically, and will suggest some others).

For more information please look into the .

Start working on your new task. From time to time, commit your work (and try to ).

You will eventually need to push your changes to your own fork. For that, you need to .

See

Once you have made some progress, (often abbreviated PR) from your fork to b-it-bots/mas_domestic_robotics's devel branch:

Make the title of your PR descriptive. If it's not ready to be merged yet, it's convention to add WIP: at the beginning of the title. You can also .

issue
label 'good first issue'
why should I avoid making commits in my kinetic or devel branch?
branching model guide
make good commits
add a new remote in your laptop
what is the difference between origin and upstream?
create a pull request
mark your PR as a draft