Skip to content
Oskar W edited this page Apr 11, 2021 · 8 revisions

Contributions Workflow

In order to contribute to the Catrobat Project, please use the following workflow:

Setup

  1. Fork the official repository
  2. Clone it to your local machine via git clone YOUR_FORKED_REPOSITORY_URL
  3. Setup upstream to keep repository up to date: git remote add upstream URL_TO_OFFICIAL_REPOSITORY
    Example: git remote add upstream https://github.com/Catrobat/Catroid.git
  4. To update your repository use: git pull upstream BRANCH
    Example: git pull upstream develop

NOTE: upstream defines the official repository and origin your forked repository!

Choosing an issue

  1. Take a look at the open issues that are listed on Jira.
  2. Choose a ticket that you want to work on, first-time contributors should work on tickets tagged as TRAINING or BEGINNER
  3. Write a comment on the ticket, so we know that you want to work on it

Make your contribution

  1. Create a branch named after the associated Jira ticket (e.g. CATROID-509)
  2. Make the changes for your contribution
  3. Commit them: git commit -m "<commit message>", but first take a look at our commit message Guidelines
  4. If you have to rebase - use git rebase BRANCH where BRANCH is the target branch where the changes should be added. If you want more information on rebasing, you can have a look at the English or German git tutorial for rebasing.
  5. If you have more than one commit, squash your commits into it: git merge --squash or add the changes with git commit --amend
  6. Push your contribution to your forked repository: git push origin BRANCH

Make a Pull Request

Important: For a detailed description on how to make a pull request and how to get it merged fast, please take a look at the wiki entry on how to create a pull request.

  1. Visit your github site and open the forked repository
  2. Create a pull request by pressing the green button below the branch selection field
  3. Select the source and target of the pull request. Please use the corresponding target branch:
  • For Catroid - develop
  • Drone - feature/drone
  • Phiro - feature/phiro_pro
  • Lego - feature/lego_nxt
    Example: base fork: Catrobat/Catroid base:develop ---- head fork: USER/Catroid compare:YOUR_BRANCH
  1. Send the pull request

THANKS for your contribution

NOTE: nice git tutorial: https://try.github.io