Skip to content

Branching model

alvarocebrian edited this page Dec 19, 2019 · 5 revisions

Branches

master

Is a stable branch. It contains the last release of the project. This branch must only contain stable code and not code in development state.

development

Is an unstable branch. It contains the latest changes coded, but not yet included in a new release.

Commiting

Each new functionality or bugfix must be included in just a single commit. That way we avoid messing up the repo with multiple commits and we ensure that each commit represents an atomic change in the program.

Development guide

In order not to mess up the master repository with multiple branches, pushing new branches to the repository is not permitted. If you want to contribute follow these steps

Add new functionality

  1. Create a fork of the repository in your account
  2. Create a new branch starting from development and include your code there
  3. Open a new Pull Request with your changes that points to development branch and tag it as feature

Add bug fix

  1. Create a form of the repository in your account
  2. Create a new branch starting from master and include your code there
  3. Open a new Pull Request with your fixes that points to master branch and tag it as bug
  4. Open a new Pull Request with your fixes that points to development branch and tag it as bug
    1. If your code in master is compatible with the state of development branch, no changes are needed
    2. If your code in master is not compatible with the state of development branch, you will either have to create a new branch from master an include your fix there.

No conflicts


Conflicts

Clone this wiki locally