Skip to content

Branching and merging

Alexandre Quessy edited this page Mar 30, 2021 · 3 revisions

Here are the Git branches we use:

  • master : contains the latest tag (release)
  • dev : contains the must up-to-date code in development. Use pull requests (PR)

The code that developers want to contribute to the dev branch should be implemented in a separate branch, and developers should create a pull request (PR) and wait for another developer to approve it before merging it into the dev branch. Using "squash and rebase" is preferred over merging, because it keeps a clean history.

  • release-xxx (where xxx is the version to be released)
  • fix-xxx (where xxx describes the bug to be fixed - including its ticket number)
  • feature-xxx (where xxx describes to feature to implement - including its ticket number)

Every new feature or bug report should be associated with a ticket. Mention the item number in the commit message.

The release manager is responsible for creating the git tags, and building the tarballs for the source code. Only a release manager should merge into the master branch, when it's time for a release. Create a PR from the dev branch to the master branch to create a release, and then create a git tag.

Here is a video about git rebase: https://www.youtube.com/watch?v=BYaVOLM_L4w&t=1s

Clone this wiki locally