-
Notifications
You must be signed in to change notification settings - Fork 1
Branching model
alvarocebrian edited this page Dec 19, 2019
·
5 revisions
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.
Is an unstable branch. It contains the latest changes coded, but not yet included in a new release.
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.
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
- Create a fork of the repository in your account
- Create a new branch starting from development and include your code there
- Open a new Pull Request with your changes that points to development branch and tag it as
feature
- Create a form of the repository in your account
- Create a new branch starting from master and include your code there
- Open a new Pull Request with your fixes that points to master branch and tag it as
bug
- Open a new Pull Request with your fixes that points to development branch and tag it as
bug
- If your code in master is compatible with the state of development branch, no changes are needed
- 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
![](./images/branching-model/bug-fix.png)
Conflicts
![](./images/branching-model/bug-fix-conflicts.png)